| Date | Topic | Extra Notes | Homework |
| Introduction |
| Jan 3 | Sets, relations, and languages | | Course notes: exercises 1.x |
| Jan 8 | Structural induction, diamond property | | Course notes: exercises 2.1-2.5 |
| Lambda calculus |
| Jan 10 | Lambda calculus | Gordon | Course notes: exercises 4.1-4.5, 4.9-4.10 |
| Jan 15 | Recursion | The Why of Y from The Little Schemer | Course notes: exercises 4.11-4.14 |
| Jan 17 | Class cancelled | | |
| Jan 22 | ISWIM | | Course notes: exercises 5.1, 5.6 |
| Jan 24 | Standard reduction | | Course notes: exercises 4.15, 5.2, 6.1-6.2 |
| Machines, and modelling realistic languages |
| Jan 29 | CC | | Course notes: exercises 7.1 |
| Jan 31 | SCC, CK, CEK | Teach Yourself Scheme | HW8 (due Mar 5) |
| Feb 5 | Olympic Break | | |
| Feb 7 | Olympic Break | | |
| Feb 12 | Olympic Break | | |
| Feb 14 | Olympic Break | | |
| Feb 19 | Olympic Break | | |
| Feb 21 | Olympic Break | | |
| Feb 26 | Olympic Break | | |
| Feb 28 | SECD, tail recusion, continuations | | Course notes: exercises 8.1, 8.2, 8.5 |
| Mar 5 | Errors and exceptions | | Course notes: exercises 9.1, 9.5, 9.6, 9.9 |
| Mar 7 | State, garbage collection, CEKS | | Course notes: exercises 10.1, 10.2 |
| Mar 12 | Review and summary | | Mid-term (due Mar 19) |
| Types |
| Mar 14 | Typed Arithmetic | | Course notes: exercises 11.1, 11.6 |
| Mar 19 | Simply Typed ISWIM | | Course notes: exercises 12.1 |
| Mar 21 | More typed lambda calculi | | Course notes: exercises 13.2-13.4 |
| Mar 26 | Polymorphism and ML | OCaml manual, demo transcript | HW15 (Due Apr 9) |
| Mar 28 | Type inference | | Course notes: exercises 15.1, 15.2 |
| Apr 2 | Recursive and existential types | | Course notes: exercises 16.3 |
| Apr 4 | No lecture | | No homework |
| Object-oriented languages |
| Apr 9 | Subtyping | | Course notes: exercises 18.1 |
| Apr 11 | MiniJava | | Course notes: exercises 19.1, 19.3 |
| Denotational semantics |
| Apr 16 | Continuation-passing style | notes | Lecture notes: exercise 3.1 |
| Apr 18 | Denotational semantics | notes | Lecture notes: exercise 4 |
| Apr 23 | Domain theory | notes | Lecture notes: exercises 6.x |
| Apr 25 | Class cancelled | | No homework |
| Apr 30 | Full abstraction, recursive domain equations | | No homework |
| May 2 | Review and summary | | |