Two weeks into the new semester, and things are getting interesting. My schedule:
- 15-212 Principles of Programming
- 15-213 Introduction to Computer Systems
- 15-451 Algorithms
- 15-453 Formal Languages, Automata, and Computation
- 76-383 Multimedia Authoring II
Four heavy-duty CS courses and one Flash/Actionscript-based course. I’m pretty happy with that.
15-212 is basically functional programming in SML, a language I have never heard mentioned outside CMU. Ever. The underlying principles should be the same as those of more “popular” functional languages (like Lisp, Scheme, or Haskell), but come on now. Esotericism has its limits.
Here’s something interesting: 15-451 is being taught by Manuel Blum and 15-453 is taught by Edmund Clarke. They both happen to be Turing Award winners, which is like.. whoa.
So how do they stack up as teachers?
Well, actually, not particularly great. They are by no means bad, just not outstanding. After a second of consideration, this isn’t all that surprising. I’d even guess that strong research would have a negative correlation to undergraduate teaching quality, because spending time on cutting-edge research usually doesn’t get passed on to undergrads. I could be overgeneralizing, but this seems to make sense.
Blum and Clarke are old guys. They’ve got well-developed beards. We all know how old professors can be a bit out of touch when it comes to students. Still, the stuff they’re teaching makes up for it. Finite automata have been downright fascinating so far, which is not at all what I expected.
Should be an interesting semester.