Sections are held:

Section attendance is not required. You can go to whichever section(s) you want. One of the sections will be recorded.

Tuesday sections are recorded. Videos of the lecture and section are available here.

Extension school students: you can join zoom for section (and participate remotely) at https://harvard-dce.zoom.us/j/490714503?status=success. If you do want to join remotely, please email the course staff in advance, so they can make sure they are prepared.

The following is a list of the sections that were held, and the topic/problems covered. Practice problems will typically be released on Fridays.

Week Topic Practice problems
3Induction; Small-step operational semantics; Large-step operational semantics PDF
Solutions
4IMP; Denotational semantics PDF
Solutions
5Lambda calculus basics; Lambda calculus encodings PDF
Solutions
6Definitional translations; References, continuations PDF
Solutions
7Simply-typed lambda calculus; More types PDF
Solutions
8Type inference PDF
Solutions
9Parameteric polymorphism, records and subtyping, Curry-Howard, existential types PDF
Solutions
10Sub-structural type systems; Algebraic structures (Haskell code) PDF
Solutions
11Environment Semantics; Axiomatic semantics; Dependent Types (Haskell code) PDF
Solutions
12Proof tools; Ethics and specifications PDF
13Logic Programming (Prolog code, Datalog code); Dynamic Types and Contracts PDF
Solutions
14Review