| August 25 | Course Overview | slides | Introductory Survey due 8/28 |
| August 27 | Semantics | slides notes | |
| August 29 | Induction | slides notes | |
| September 1 | Labor Day | |
| September 3 | Lab: Semantics | lab | |
| September 5 | Lab: Induction | lab | A1 due 9/4 |
| September 8 | IMP (Guest: Kozen) | slides notes | |
| September 10 | IMP Properties (Guest: Kozen) | slides notes | |
| September 12 | Lab: IMP | lab | A2 due 9/11 |
| September 15 | Denotational Semantics | slides notes | |
| September 17 | Program Equivalence | slides notes | |
| September 19 | Lab: Denotational Semantics | lab | A3 due 9/18 |
| September 22 | Axiomatic Semantics | slides notes | |
| September 24 | Hoare Logic | slides notes | |
| September 26 | Lab: Axiomatic Semantics | lab handout | A4 due 9/25 |
| September 29 | Predicate Transformers (Guest: Moeller) | slides notes | |
| October 1 | Separation Logic | slides notes | |
| October 3 | Lab: Separation Logic | lab | A5 due 10/2 |
| October 6 | Lambda Calculus | slides notes | |
| October 8 | More Lambda Calculus | slides notes | |
| October 10 | Prelim I | |
| October 13 | Fall Break | |
| October 15 | Definitional Translation (Guest: Myers) | slides notes | |
| October 17 | Continuations (Guest: Myers) | slides notes | |
| October 20 | Fixed-point Combinators | slides notes | |
| October 22 | de Bruijn Notation and Combinators | slides notes | |
| October 24 | Lab: Lambda-Calculus | lab | A6 due 10/23 |
| October 27 | Type Systems | slides notes | |
| October 29 | Advanced Types | slides notes | |
| October 31 | Lab: Type Systems | lab | A7 due 10/30 |
| November 3 | Polymorphism | slides notes | |
| November 5 | Making OCaml Safe for Performance Engineering (Guest: Minsky) | | |
| November 7 | Lab: Polymorphism | lab | A8 due 11/8 |
| November 10 | Prelim II | |
| November 12 | Dependent Types and Type Theory (Guest: Barbone) | | |
| November 14 | Lab:Type Theory (Guest: Barbone) | | |
| November 17 | Normalization | | |
| November 19 | Logical Relations | | |
| November 21 | Lab:Logical Relations | | A9 due 11/20 |
| November 24 | Logic Programming | | |
| November 26 | Thanksgiving Break | |
| November 28 | Thanksgiving Break | |
| December 1 | Lenses | | |
| December 3 | Program Synthesis | | |
| December 5 | Lab: Domain-Specific Languages | | A10 due 12/4 |
| December 8 | Victory Lap | | |
| December 16 | Final Exam (7:00-9:30pm) | |