CS 2: Problem Solving and Computing Lab

"Methodical programming and problem solving. Weekly laboratory exercises, programming in C, and homeworks in problem solving and program design. Data structures: stacks, queues, heaps, graphs, and trees. Complexity, invariants, and metrics. Simple algorithms: sorting, searching, and hashing."
--Caltech Catalog

"Lectures were dry, but taking good notes helped immensely for labs and the final. Homework was generally easy. The labs were interesting but time-consuming. Many students spent twice the four unitted hours in the lab most weeks. CS2 is difficult, but you get a lot out of it. A must for CS majors."
--C.L.U.E. Review #1

"Although the after-lunch time, the plush chairs, and Steve Taylor's English accent can make the CS2 lectures conducive to drowsiness, Taylor knows his stuff and teaches it well. I found the material to be pretty interesting and the labs well-designed. The concepts and techniques learned in class are incorporated into two main projects during the term: a phone book, and a map of Caltech with some very interesting features. As interesting as the labs are, expect CS2 to be a major time sink (unless you are a real stud). The horror stories are true - expect to spend 12-18 hours a week on this class, although of course it can vary. Some weeks will be better than others, but the labs are not trivial. The T.A. that you get will also make a difference in how you find the course. Overall I found CS2 to be a fine course, one that will be useful for anyone who takes it."
--C.L.U.E. Review #3