Saturday, May 26, 2012

CS 124 -- Some Student Comments

Overall, I feel I've had a very successful year, but I do have to admit: my undergraduate class, CS 124, could have been better this spring. I wasn't prepared for the class doubling in size from the previous year, and I had too many other things going on to make modifications on the fly. The most common complaint was that the turnaround time to get back assignments was too long, and I agree. I hope to find time to make some changes before next year rolls around that will help with that. (Lots of perennial complaints about timing of things like the midterm, too -- see this previous post if you care.)

Some interesting takeaways from the comments, which, as always, have high variance. Answers below come from the question: "What would you like to tell future students about this class?" My favorite so far:

"CS124 isn't too bad for an introduction to some basic algorithms, but it could be a lot more rigorous. Fairly light workload."

What's funny if I can't tell if the student is being serious or sarcastic, the comment is such an outlier. It's either from someone who really did well in the class and felt insufficiently challenged (there's usually a few), or someone who is making some kind of joke. Other comments are more realistic, with different levels of "appreciation" for the difficulty:

"It is hard."
"A lot of hard work but it's worth the effort."
"The hardest class taken this far in college; painful (to be fair though I
did lean a lot but not sure how efficient the process is...)"
"Often pretty difficult, but totally worth it."
"It's incredibly difficult (on a scale from 1 to impossible, it's harder than impossible)..."
"Start the psets early, and focus on them, because they are immensely rewarding. However, they are extremely brutal."

Brutal, nice adjective there.

Some people feel algorithms is part of your health foot diet:

"This course is computer science vegetables."
"It's broccoli; you just gotta take it."

Hmm. I do make my kids eat their vegetables, including broccoli. Still, perhaps not the most appetizing comparison.

Several people mention that the class is good preparation for job interviews.

"The material from this course is so valuable to have for tech recruitment season."
"124 is no doubt a tough class but it is also super useful. In fact, if
you want a job in CS you MUST take this course. Multiple problem set
questions appeared on my interviews and the algorithmic thinking helped
me solve any other problem they asked. "
"Programming interview questions focus on algorithms. This class has been so helpful in getting me a job."
"Very difficult, but very rewarding. Teaches you how to do algorithms and helps with job interviews."

I am absolutely unembarrassed about CS 124 being (in part) vocational training. I didn't design the class to prep students for job interviews, but I'm glad to hear that it does, and very happy it plays that role. Maybe we need to somehow move the class to the fall instead of the spring, so students can get the full class in before interview season.

Finally, of course, some of the highest variance comes in students' feelings toward the actual teacher:

"Mitzenmacher is actually a really great lecturer and motivates everything that we learn in class."
"Professor Mitzenmacher is an excellent lecturer and he really does seem to care about his students."
"Mitzenmacher.... definitely generates enthusiasm for the material, and lectures
were very engaging and were well-motivated by relevant real world
examples."

All of you, come find me after class so I can give you extra credit. On the other hand, there are also plenty of comments like....

"Mitzenmacher's approach to teaching seems to be "present the material and not care about students' struggles.".... The material itself is quite interesting, but just be prepared for a professor like Mitzenmacher."
Ouch.
"I am baffled as to why Prof. Mitzenmacher is still allowed to teach this
class. His lazy attitude toward teaching was frustrating and not
conducive to learning."
Double-ouch.

(I have all sorts of funny, sarcastic things to say here about not being "allowed to teach this class", but I'm sure they'd just get me in trouble later, so other faculty can mentally fill in their own joke here.)

To close it out, these seem like the best things to tell students who are thinking of taking my course:

"Good luck and enjoy the ride! Even though it almost killed me, I'm genuinely sad it's over."
"Brace yourself."

Here's one from a student who took it 7 years ago: it has remained super helpful, and often, I find myself pulling up CS124 notes to re-familiarize myself with the details of [insert topic here--recent ones looked up include Set Covering, Tf-idf, MST algorithms]. If its broccoli, its broccoli that stays in your system for ages, and keeps helping you fight the good fight.