Your work in the course will consist of out-of-class reading, 6 homework assignments, 4-6 quizzes, a midterm and a final exam. Most of the homework assignments contain of both a programming and a theory-based component. The homework assignments are medium-to-large in size: we expect each assignment to require several days of your time over a two- or three-week period. Success in this course will require mature work habits as well as consistent attendence and participation in lecture and recitation.

Grade breakdown

Your course grade will be determined as follows:
Homework:40%
Quizzes:10%
Midterm:20%
Final exam:25%
Participation:5%

If we have 5 or 6 quizzes we will drop your lowest quiz score when computing your final grade. Your Participation score is at your TA's and the professors' discretion at the end of the course. You must attend and participate in lecture and recitation to earn these points.