Lecture Schedule

Lectures will be 1:30-2:45 on Mondays and Wednesdays in Shaffer 303. The Zoom room for those unable to attend in person be posted on the Q&A board (see below for how to get on that). Lectures will be recorded and the Panopto page for those recordings will also be posted.


See the Dateline for the schedule and the topics that will be covered.


Gradescope will be used for assignment submission and grade posting. See the Q&A board for the entry code.

Campuswire Q&A board

We will be using the Campuswire Q&A board for online discussions. You will need to register here so you can receive course announcements and discuss the material with other students.


All assignments are linked from the dateline. They will all be programming exercises, primarily in OCaml.


There will be a small independent project at the end of the course worth around three homeworks.


The collaboration policy for assignments is you are encouraged to discuss assignments with other students, but everyone must submit their own writeup of the answers (no emailing solutions to each other for example). You are also required to list all collaborators on your submission.

Please make sure to consult the course Academic Integrity Policy on what is legitimate interaction for homeworks, it is spelled out in detail there.

Late HW Policy

You will be given the same number of “late days” as there are assignments. For each assigment you can use up to three of your late days quota, each one allowing you to submit the assignment one day later. The quantum of lateness is the day, so if you are 15 seconds late that counts as a day late. If you have a cold or flu you can use the late days for such absences; if you have an extended excused absence contact instructors on Campuswire and we can work something out.

Office hours

Office hours will be pinned on Campuswire.


There will be no exams. The project demos will take place around what would have been the final exam slot for the course.