Since the beginning of April, David Mazières and I have been back in the saddle teaching CS240H at Stanford again.
If you’re tuning in recently, David and I both love systems programming, and we particularly get a kick out of doing it in Haskell. Let me state this more plainly: Haskell is an excellent systems programming language.
Our aim with this class is to teach both enough advanced Haskell that students really get a feel for how different it is from other programming languages, and to apply this leverage to the kinds of problems that people typically think of as “systemsy”: How do I write solid concurrent software? How do I design it cleanly? What do I do to make it fast? How do I talk to other stuff, like databases and web servers?
As before, we’re making our lecture notes freely available. In my case, the notes are complete rewrites compared to the 2011 notes.
I had a few reasons for rewriting everything. I have changed the way I teach: every class has at least some amount of interactivity, including in-class assignments to give students a chance to absorb what I’m throwing at them. Compared to the first time around, I’ve dialed back the sheer volume of information in each lecture, to make the pace less overwhelming. Everything is simply fresher in my mind if I write the material right before I deliver it.
And finally, sometimes I can throw away plans at the last minute. On the syllabus for today, I was supposed to rehash an old talk about folds and parallel programming, but I found myself unable to get motivated by either subject at 8pm last night, once I’d gotten the kids to bed and settled down to start on the lecture notes. So I hemmed and hawed for a few minutes, decided that talking about lenses was way more important, and went with that.
Some of my favourite parts of the teaching experience are the most humbling. I hold office hours every week; this always feels like a place where I have to bring my “A” game, because there’s no longer a script. Some student will wander in with a problem where I have no idea what the answer is, but I vaguely remember reading a paper four years ago that covered it, so when I’m lucky I get to play glorified librarian and point people at really fun research.
I do get asked why we don’t do this as a MOOC.
It is frankly a pleasure to actually engage with a room full of bright, motivated people, and to try to find ways to help them and encourage them. I don’t know quite how I’d replicate that visceral feedback with an anonymous audience, but it qualitatively matters to me.
And to be honest, I’ve been skeptical of the MOOC phenomenon, because while the hype around them was huge, it’s always been clear that almost nobody knew what they were doing, or what it would even mean for that model to be successful. If the MOOC world converges on a few models that make some sense and don’t take a vast effort to do well, I’m sure we’ll revisit the possibility.
Until then, enjoy the slides, and happy hacking!
Great slides!
But one of them is 404:
http://www.scs.stanford.edu/14sp-cs240h/slides/parsing-slides.html
Thank you!
Do you plan to record and publish video of lectures?
Thank you.
Video would be highly appreciated and watched with enthusiasm.
Rebeccah thanks for shnirag this on mobiMOOC. I am sitting defining my own ideas on this too and you’ve given me a few new ideas. A whole clutch of MOOCs later and I hadn’t thought of re-aligning a project to match my own needs! So obvious once you read it. Having worked as part of a team exploring iPad usage in a Higher Ed blended learning environment, both personal usage and as tutors, I look forward to seeing your project develop.I’m going back to reconsider my objectives now
How do I talk to other stuff, like databases and web servers? Click here
We are looking forward to exploring these lecture notes and delving into the world of Haskell for systems programming!
Everything is simply fresher in my mind if I write the material right before I deliver it.
Best regards,
Kath | cement driveway
My fiends in cement floor company are looking forward to exploring your lecture notes! Happy hacking!
It’s wonderful to hear about your ongoing experience teaching CS240H at Stanford, especially with a focus on systems programming in Haskell. Your passion for the subject and the language itself shines through in your description.
Please consider doing this as a MOOC.
All the best!
#1 handyman in Dover
The passage discusses the authors’ experience teaching the CS240H course at Stanford, focusing on advanced Haskell programming for systems development. They emphasize their love for systems programming in Haskell and their goal to teach students both advanced Haskell concepts and their application in solving systems-related problems. salonstudios.us/
This passage provides insights into a computer science course, CS240H at Stanford, focused on systems programming using the Haskell programming language. cincinnatiseo.io/
Your commitment to evolving your approach and keeping the content fresh is commendable.
Certainly! Your request seems to be a playful twist on the famous quote “Once more unto the breach, dear friends” from Shakespeare’s Henry V. Is there a specific context or topic you’d like to discuss regarding teaching?
The author, Sebastian Sylvan, is discussing his experience teaching CS240H at Stanford, a course on advanced Haskell programming for systems development. https://www.themyndclinic.com/
Your reluctance towards MOOCs resonates, and the value of engaging with a live audience is undeniable.
Bryan and David are committed to providing an engaging and enriching learning experience for their students, emphasizing hands-on learning and personal interaction. https://ibisegozi.com/
Looking forward to following along with the lecture notes.
Thank you for sharing your insights and experiences, and for making your lecture notes freely available. It’s evident that you’re deeply invested in the success and growth of your students, and I’m sure they greatly appreciate it.
Nice shared post. Great job! Superior Fences Fresno Fence Installation
Looking forward to seeing the new material you come up with! | http://www.drywallgreensboro.com
This is very informative, thanks for sharing. soundproof plastering
I found this site interesting, thanks for the share. insurance painters
I enjoyed reading this. It was engaging and kept me interested throughout. concrete contractor
Glad to check this site, it’s very informative content. Roof Repair
Good to read the details about the Once more into teaching, dear friends, and there are a lot of people who are searching for the right ideas that provide us the results. These results are required and we can get the solutions. It is good to use it.
Awesome information you’ve shared here. concrete contractors near me
I like the content you shared. concrete slab