CS 20 is 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 may 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 meets only 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.
- Mandatory attendance at class
- Quick summary of the reading or a worked example in "lecture" (one-to-many) form, 20 mins max
- A few 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 its 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 problem set will be due every Wednesday. Problem sets may be done in collaboration with other students in the class but must be written up independently. After the first week, problem sets must be prepared using LaTeX (but submitted in hardcopy).

Note that this protocol incentivizes the group to be sure each member can explain the answer. So an element of peer instruction is part of the design.

There will be a midterm exam on Friday, February 21, 2014, and 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, midterm exams, problem sets, 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!

This article from Harvard Magazine (Nov-Dec 2013) describes the course.