(Revised 1/21/12. Please reread as certain details have changed -- for example, the plan is now to have an ordinary 3-hour final exam.)
CS 20 is going to be taught very differently from most Harvard courses because its objectives are different from those of most Harvard courses.
CS 20 is far less concerned with teaching students a certain list of material than it is with teaching students the skill and process of solving problems in discrete mathematics. We aim to teach you how to think mathematically: how to reason about mathematical structures and to make arguments that will withstand skepticism. As a CS 20 student, your objective is not to get a certain number of problems right, but to be able to explain why problems have the answers that they do.
So while we have a class by class syllabus -- see the course Schedule page -- we will compress or expand it if certain concepts are not sinking in. If we don't quite cover all the material, you will, by the end of the class, be able to pick up the rest on your own, since you will have mastered the art of reading and reasoning about discrete mathematical structures.
Instead of lectures, CS 20 will meet mostly in problem-solving sessions. We meet 3 times a week, MWF 10-11, in a flat-floored classroom with tables and chairs and a whiteboard for each table. The classroom is Pierce 301--on the top floor of Pierce Hall at the south end. A typical class will proceed as follows:
- Short reading assignment to be done before class. The text will be the notes for a comparable course at MIT, 6.042. These notes are a free download. Thanks very much to Professor Albert Meyer for letting us use the fruits of his labor and that of his collaborators!
- Simple did-you-do-the-reading checkbox quiz on the reading to be completed before class. These will be done using the "Galileo" tool. Please create an account by clicking here. Bookmark this link--you will use it to answer the questions.
- Mandatory attendance at class
- Quick summary of the reading or a worked example in "lecture: (one-to-many) form, 20 mins max
- A couple of problems are distributed to the class on paper
- Class breaks up into groups of four, each at its own table, and each group solves first problem on the whiteboard
- When everyone in the group is confident he or she can explain the solution, a member of the course staff goes to the table and calls on one member of the group to explain the solution
- The staff member either points out problems with the solution and leaves the group to improve their solution, or checks off the solution and allows the group to proceed to the next problem
- A short problem set will be due at the next class. Problem sets may be done in collaboration with other students in the class but must be written up independently.
Note that this protocol incentivizes the group to be sure each member can explain the answer.
There will be two hour exams, and perhaps a few scheduled short quizzes. There will also be a 3-hour final exam in the normal exam schedule.
It is our intention to foster a cooperative, noncompetitive, teamwork atmosphere. Grading is based on the checkbox quizzes, in-class quizzes, problem sets, hour exams, and the final exam.
For you as a student, there should be two takeaways. On the plus side, you won't fall asleep in class, you should have fun, and you should learn a lot. On the minus side, don't even think of taking this course if you tend to sleep instead of going to class!