What the critics are saying about CS 152: Programming Languages
The consensus seems to be that the course is a lot of work, but
worth it. Good.
- The implementation exercises, for all my frustration while doing
them, are tremendously valuable. I find that actually implementing
something like type inference or continuations greatly enhances
my understanding of it, and testable programs are much easier
to play with and build intuition about than are pages of
- I thoroughly look forward to each class meeting, and am
saddened by the realization at 11:59 that class is over.
It's too bad there's not more than 53 minutes in a Harvard hour.
CS 161 and CS 152 are the two "highlights" of the Harvard CS concentrator's
undergraduate career. I enjoyed CS 152 a lot more because of the nature of
its assignments: the focus was on elegance and succinct code.
- Learning about the things we learned about was a
complete shift in the way I think about programming, and I've been using
the things I learned... Anyone who does any
programming should take this class.
- My measure of a good problem set is did I learn a lot for the ammount of
time I spent. By this measure, the problem sets were fantastic.
- I really enjoyed your class from a
year ago, and I'm applying a suprising number of the principles a
learned in your class on a daily basis at my current job here at
Why ``surprising''? ---NR
- Assignments are challenging and interesting, but unless I start
radically in advance, I have no way of gauging the difficulty of the
- The newsgroup contains too many irrelevant questions answered.
I do not necessarily want to read everyone's clarifications.
- I really really appreciate all of the newsgroup traffic. I've had
a bunch of questions, answers, and issues clarified. Also, I read
some questions I never would've thought to ask, and those were really valuable.
- I like the text. I
like the super fast response on my questions. I like seeing other
people ask questions, it makes me feel a little less isolated.
- I hate the C style of structs and static functions.
familar with C++; why not use it ?
- The assignments are usually very interesting, now that we
don't have to mess with tons of annoying C code.
- Two days ago, I was sitting here with a really tough dangling
pointer bug, wishing I was using a good garbage-collected
language, and thought to myself, ``how would I debug
this if it were one of the 152 garbage collectors?''
Since then i've used [my answer] to find two more tough bugs
in another program. In one, the dangling pointer
was amazingly old.
- The assignments are challenging.
- I love the post-problem set documentation (the solution sets,
the grading break-down, and detailed grade distribution).
- Asst2 (Lisp/Scheme) and
Asst3 (Garbage Collection)
took me more than 30 hours each. This is
a long time. And much of it was spent debugging annoying
C pointers rather than learning about programming lanuages.
The lambda assignment seems like a
much better assignment
in this regard, but I worry about the upcoming assignments.
- I'm particularly pleased that you review our
assignments before they're returned--you're the first
professor I've known at Harvard who does this consistently
for undergrad courses, and it's very much appreciated.
- The lambda calculus assignment was due a little too
soon relative to the lectures covering the necessary