Where and When

For access to lectures and precepts, join us on Ed.
  • Lectures: Monday, Wednesday, 11:00 a.m. to 12:20 p.m., McCosh Hall 46
  • Precepts: attendance mandatory in the section that you're registered for; Precepts will be held in Friend or McCosh depending on section. P01 = Friend 112; P02 = Friend 108; P05 = McCosh Hall 62.
  • Office Hours: Please see the pinned post on office hours in Ed.

Course Staff

Name Position Section Email Office
David Walker Professor Lecture dpw@ CS 211
Aarti Gupta Professor Lecture aartig@ CS 220
Anja Kalaba Preceptor P01 akalaba@
Kathy Chen Preceptor P05 kc31@
Lisa Liu Preceptor P02 xl2493@

If you cannot make the course staff office hours, e-mail your preceptor (or one of the professors) to set up an appointment.


There will be seven assignments throughout the semester. The first three are due in consecutive weeks to get you up to speed with OCaml, while the last four are spread across the rest of the semester. The last assignment will be due near the end of reading period.

Lateness policy. Programming assignments are due at 11:59pm on the date specified, with a 2-hour grace period. Late assignments are assessed a 20% penalty per day or partial day: 0-2 hours late (grace period — no penalty), 2-24 hours late (20%), 24-48 hours late (40%), and so forth. The grace period applies to the first day only!

Your penalties for the first 7 late days during the course are automatically waived. However, you cannot submit the last assignment late---all work must be turned in by Dean's Date. If your last assignment is incomplete on Dean's date, submit it anyway and you will receive partial credit as appropriate.

No additional lateness penalties will be waived except if there is a medical or personal emergency, as assessed by the residential college deans. All exceptions and extensions must be approved by the lead preceptor.

Collaboration policy and Academic Integrity. By default, we will be using the COS 126 Collaboration Policy. You must read this policy before beginning your first assignment. If you have any questions or doubts about the policy, please ask. There is never any harm in asking for clarification of the collaboration policy. However, the penalties for plagiarism or other violations of the policy are very severe.

The COS 126 Collaboration policy refers to the "work" that you produce for the course. In COS 126, that work includes code, comments, README files, etc. In COS 326, your work includes all those things as well as proofs of program properties. You should treat your proofs in exactly the same way as you treat your code. For example, you shouldn't show your proofs to anyone or allow them to be copied, etc.

In COS 326, you may discuss problems with friends as long as you do not share your code or proofs. In some of the assignments, we hand out some code to get you started. You can look over the (unchanged) code that we hand out with a friend in order to try to understand it. You can also discuss general strategies for solving the problems contained in an assignment, but those discussions shouldn't involve writing code together. Once you write or change a line of code, you can no longer share that piece of code with a friend. (You could re-download a fresh, unchanged copy from the course web site for a discussion, if you wanted to.)

If, for some assignment, we wish to deviate from the policies listed above, we will say so explicitly on that assignment. However, you must assume that by default there will be no deviation.


There will be two "tests" or "midterms" during the semester. Grades will be determined 40% by the two tests, and 60% by seven assignments. The exams are evenly weighted; but the longer and more challenging assignments will be worth correspondingly more than the earlier assignments, as detailed on the Assignments page.