Fall 2001, from the end-of-semester evaluations:
Hands down the best CS course I've ever taken. Incredibly challenging and rewarding, I think everyone should take this course. It is the culmination of three years of preparatory CS courses.
By far the most unique course offered by the C.S. department. A lot of work but worth every minute. Great class.
One of the best CS courses I have taken.
This was a very interesting class and it really refined my problem solving skills. This was one of the best classes I took at Columbia.
A very different course that is an asset to the computer science department.
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.
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.
``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.