Course Logistics

Class Time and location

We will meet 1:30-2:45PM on Mondays and Wednesdays in Gilman 132. You are normally expected to attend in-person, but if there are reasons you cannot attend such as being quarantined, sick, travelling, etc the lecture recordings should be available on Panopto.

Q&A: Courselore

We are using Courselore for course announcements and Q&A. We will be emailing a special sign-up link for you to get on there; the link is also accessible from the course Canvas page if you added late.

Panopto Lecture Videos

Use this link for access to the videos. You must authenticate to see them.

The Book

The book for the course is the on-line Book, which directly complements the lectures. The course will cover most of the book, but leaving out Chapter 8. The book doesn’t contain an introduction to OCaml; we will be doing running examples in class as the lecture, from file lecture.html. See the OCaml page for material on learning OCaml. Some of the later lecture topics are also not in the book; lecture notes for those topics are found on the dateline.

Gradescope

Gradescope will be used for assignment submission and grade posting. See Courselore for the entry code (here once you have made your Courselore account.)

Assignments

All assignments are linked from the dateline. There will be three kinds of assignments:

  1. Small programming assignments in OCaml so you can learn the language, at the start of the course.
  2. The implementation of a series of simple interpreters and translators in OCaml.
  3. Written assignments covering topics in the mathematical theory of programming languages.

The collaboration policy for assignments is you are strongly encouraged to form teams of up to four people to work together on solving the assignments, but everyone must submit their own writeup of the answers (no emailing solutions to each other). Those of you who understand the material are encouraged to engage in peer teaching to help other students on your team or other teams.

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, which is around 9 this year. 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 the instructor and we can work something out. Note that the last homework has no late days allowance; instead three late days are “baked in” to the deadline itself.

Office Hours

Office hours and locations will be pinned on Courselore.

Exams

There will be a take-home midterm before spring break and an in-person final examination during the normal final exam period.

Grading

The final will count around 1/3 of the grade, the midterm 1/6th, and the homeworks the rest. The HWs will be weighed somewhat differently based on the time commitment of the assignment.