Wednesday, March 1, 2017

An odd fact about my teaching career

The Crimson picked up the news that I will be teaching half time for the next two years and then officially retiring on July 1, 2020 (after taking some banked sabbatical). Long way off, and I have no intention of going anywhere anyway.

My colleagues are organizing a Celebration of Computer Science in my honor, which should be a lot of fun. I have been privileged to have amazing students over the years and I am hoping to see many of them there. By my count, nine Harvard professors took courses from me, and six were my teaching assistants as undergraduates.

Thinking about this, I noticed something that is probably unique about my career, and will be hard for anyone ever to replicate. When I retire after 46 years of teaching at Harvard, I will, with only a couple of exceptions, never have taught a course I didn't create. The exceptions are CS51, originally called AM110, which I taught nine times and took over from Tom Cheatham, and Nat Sci 110, which I took over from Bill Bossert and Chuck Prenner for three years in the 1970s. (My second, third, and fourth years on the faculty, so I pretty much started as an assistant professor teaching classes that filled Science Center B.) Everything else I have taught -- CS121, CS20, CS50, CS124, Bits, my new Classics course, my Amateur Athletics seminar, and a few others -- I created, not always under those names. (And frankly, I did a lot of redesign on AM110 and Nat Sci 110 too!)

Of course, I had an unfair advantage in setting that record, if it is one. I started teaching in a field that barely existed, and was teaching at a university that offered almost no undergraduate courses in the field! So I could teach almost anything and be offering it for the first time. In that sense, the miracle is not how many courses I started, but the fact that most of them have proved durable.

And by the way, even though my undergraduate and graduate degrees are all from Harvard, I have never taught a course that I took.


  1. Congrads!
    If you ONLY taught courses that you designed (not quite true but close) then it would be a corollary that you never took a course and later taught it, since that would involve time travel.

    To only teach course you design is hard.

    However, to never teach a course that you once took, in computer science, is not unusual. One difficulty is the equivalence classes-- for example, if I took a course in PASCAL in 1976 that used punchcards, and then teach a course in Java in 2016, that has the same number and title, is it the same course or not?

  2. Fair enough. It wouldn't be that hard to teach only courses you designed if you taught mostly graduate courses. It's a little harder if you are teaching mostly freshman and sophomore level courses, as I have done. That's an indicator of how little there was in the way of a curriculum back in the 1970s.
    There are, by the way, plenty of courses being taught today that I took. One is Applied Math 106, Applied Algebra, which I took from Garrett Birkhoff and which Madhu Sudan is now teaching. Another is Applied Math 201, now called Physical Mathematics, which in 1967 was mostly applied complex analysis and now has some of that but has a lot more about numerical and approximation methods than it did then.
    By "the same course" I mean not that the course hasn't changed, but that it is numerically the same and the content has changed only incrementally. CS51 is a great example of how much evolutionary drift can occur over decades of incremental change. Today's CS51 students would be bewildered to know that the students in AM110 (as it was called when I first taught it in 1979) wrote memory management and garbage collection code in assembly language. But when you tell them that the first exercises were in LISP and that the arc of the course was to implement a LISP interpreter on which they wound up running the LISP code they had written at the beginning of the term, it not only makes sense that they had to write a garbage collector, they can recognize the functional programming thread that has persisted to the present day.
    Jim Larus (now CS dean at EPFL in Switzerland) was my TF in my first AM110 offering!

  3. Just echoing my thoughts on other platforms: you've got some fans out here in the Northwest!

    -David Cromwell
    Bits Alum, '06

  4. Given your new course, Classics, I expect to be invited to the Celebration, particularly since we met as junior faculty, I think forty years ago this fall, when I started here. Congrats!