Date | Topic | Extra Notes | Homework |
Introduction |
Jan 9 | Sets, relations, and languages | | Course notes: exercises 1.x |
Jan 11 | Structural induction, diamond property | | Course notes: exercises 2.x |
Lambda calculus |
Jan 16 | Lambda calculus | Gordon | Course notes: exercises 4.1-4.5 |
Jan 18 | Recursion | The Why of Y from The Little Schemer | Course notes: exercises 4.10-4.14 |
Jan 23 | ISWIM | | Course notes: exercises 4.15 |
Jan 25 | Standard reduction | | Course notes: exercises 5.1-5.2, 5.6, 6.1-6.2 |
Machines, and modelling realistic languages |
Jan 30 | CC | | Course notes: exercises 7.1 |
Feb 1 | SCC, CK, CEK | Teach Yourself Scheme | HW8 |
Feb 6 | SECD, tail recusion, continuations | | Course notes: exercises 8.1, 8.2, 8.5 |
Feb 8 | Errors and exceptions | | Course notes: exercises 9.1, 9.5, 9.8 |
Feb 13 | State, garbage collection, CEKS | | HW11 (Due Feb 20) |
Feb 15 | Local reasoning for state and continuations | | Mid-term (due Feb 22) |
Types |
Feb 20 | Typed Arithmetic | | Course notes: exercises 11.1, 11.3 |
Feb 22 | Simply Typed ISWIM | | Course notes: exercises 12.1, 12.2 |
Feb 27 | More typed lambda calculi | | Course notes: exercises 13.2-13.4 |
Mar 1 | Polymorphism and ML | OCaml manual, demo transcript | HW15 (Due Mar 8) |
Mar 6 | Type inference | | Course notes: exercises 15.1, 15.2 |
Mar 8 | Recursive types | | Course notes: exercises 16.3 |
Mar 13 | Spring Break | | |
Mar 15 | Spring Break | | |
Mar 20 | Existential types | | No homework |
Object-oriented languages |
Mar 22 | Objects | Abadi and Cardelli, Sections 1 and 2 | HW18 |
Mar 27 | Typed objects | Abadi and Cardelli, Sections 3 and 4 | HW19 |
Mar 29 | Subtyping and Classes | Abadi and Cardelli, Section 4 | |
Apr 3 | MiniJava | | Course notes: exercises 18.1, 18.3 |
Apr 5 | MiniJava Soundness | | Course notes: exercises 18.5 |
Denotational semantics |
Apr 10 | Denotational semantics | notes | HW22 |
Apr 12 | Domain theory | notes | HW23 |
Apr 17 | Full abstraction, recursive domain equations | | |
Axiomatic semantics |
Apr 19 | Axiomatic semantics | Gordon, Chapters 1-3 | Gordon Ex. 18 (page 34) |
Final review |