Fall 2000, from the end-of-semester evaluations:
This was the best course I have ever taken in the Columbia Computer Science department. The small class size was very important towards this end.
This is one of the best courses at the CS department. Wonderful for higher-level students who are serious about computer science. A lot of work, though, but as it should be.
The professor is really into it, and the TA this semester - Janak - was great too.
One of the best courses Ive taken at this university. This is what all CS courses should be like. ... people more concerned with creativity ... are going into this department and that this is the type of class that they need. The small class size and discussion-based setup made this class the one of the only intellectually challenging cs classes out there. You don't have to be creative to memorize algorithms or hack kernel code, but these open ended problems excited an interest and an enthusiasm that I've never seen in almost any other class.
It's unfortunate that I can't select answers better than excellent for this class. This class was easily my favorite class through all 4 years of school here. It was fun and it was very challenging. The work was VERY heavy, but was reasonable considering the nature of the class.
This is a class that ALL serious computer scientists should consider taking. It's a class that focuses more on ideas than on the implementation. It's also a class where teamwork is key and good communication is vital.
Most CS courses are about learning concepts. Those classes teach you those concepts by beating them into your head in lectures, then in textbooks then in homework assignments. This class makes it much easier to learn new material because it's learned in a way that all material should be learned, through experience and application. All new concepts are discovered and learned by the students themselves rather than be told what to learn by the professor.
Professor Ross was an excellent professor. He taught the class the way it should have been. He maintained his role as a mediator more than as a teacher which was important to the structure of the class. He allowed us to think during class (something unheard of in most classes) and to come up with our own solutions and ideas. I would hope he teaches future offerings of this class.
Class size was beyond comparison. Having a small class is a wonderful thing. ... To be able to give each student this much attention can only be a good thing. The class size for this particular class is important. ... The purpose of the class is to allow for discussions during class time. Having a class of more than 25 would make that difficult for many students like myself. Having fewer people in the class makes me more comfortable and gives me the chance to speak my mind. Something I have not had in ANY class up to this point.
I would and I will recommend this class to all of my computer science friends.
It is different and really really practical. Prof.Ross must teach this course often.
Spring 1999:
``This is the first CS class at Columbia in which I didn't want to leave at the end of the class hour.'' -- a student in the 1999 Programming and Problem Solving class.