Advanced Programming Languages
MWF 10:10-11:00
Phillips 213
This schedule is not set in stone. Changes will be announced in lecture and posted here. Please check back from time to time.
Readings key: W = Winskel, P = Pierce.
| Date | Topic | Notes | Reading | Assignments |
| 24 Jan | Introduction | notes slides |
P1-2 | |
| 26 Jan | λ-calculus, substitution | notes | P5.1,5.3 | |
| 28 Jan | λ-calculus reduction, confluence, and Church encodings | notes handout |
P5.2 | |
| 31 Jan | Reduction Strategies and Equivalence | notes | P5.2 | |
| 2 Feb | Cornell closed due to weather (no class) | HW1 out | ||
| 3 Feb | OCaml Recitation — 7:30pm in Upson B7 | slides source |
||
| 4 Feb | Recursion and fixed point combinators | notes | P5.2 | |
| 7 Feb | Structured Operational Semantics and IMP | notes | W2 | |
| 9 Feb | Well-founded induction | notes | W3.1-3.2 | |
| 11 Feb | Inductive definitions and least fixed points | notes | W3.3-3.5, W4 | |
| 14 Feb | Evaluation contexts | notes | ||
| 16 Feb | Definitional Translation | notes | HW1 due HW2 out |
|
| 18 Feb | FL and strong typing | notes slides |
||
| 21 Feb | Naming and scope | notes | ||
| 23 Feb | Recursive bindings and modules | notes | ||
| 25 Feb | State and mutable variables | notes | ||
| 28 Feb | Continuations | notes | ||
| 2 Mar | Exceptions and first-class continuations | notes | HW2 due | |
| 4 Mar | Compiling with continuations | notes | HW3 out | |
| 4 Mar |
FastTrack and Jumble: Efficient and Precise Dynamic Detection of Data Races Stephen Freund — 12pm in Upson 315 |
|||
| 7 Mar | PhD Open House (no class) | |||
| 9 Mar | Predicate Transformers | notes | W6.1-6.3 | |
| 11 Mar | Hoare Logic | notes handout |
W6.4-6.6, W7 | |
| 14 Mar | Denotational semantics of IMP | notes | W5 | |
| 16 Mar | The Fixed-Point Theorem | notes | W8 | |
| 18 Mar | Domain Constructions | notes | W8 | HW3 due |
| 21 Mar | Spring break (no class) | |||
| 23 Mar | Spring break (no class) | |||
| 25 Mar | Spring break (no class) | |||
| 28 Mar | Review | |||
| 30 Mar | Preliminary Exam | |||
| 1 Apr | Denotational semantics for REC | notes | W9 | |
| 4 Apr | Scott's D-∞ construction | notes | W12 | HW4 out |
| 6 Apr | Typed λ-calculus | notes | P9 | |
| 8 Apr | Type soundness | notes | P8 | |
| 11 Apr | Products, Sums, and Recursion | notes | P11 | |
| 13 Apr | Subtyping | notes | P15 | |
| 15 Apr | Algorithmic Subtyping and Type Inference | notes | P16, P22 | HW4 due |
| 18 Apr | Polymorphism | notes | P23 | HW5 out |
| 20 Apr | Strong normalization and logical relations | notes | P12 | |
| 22 Apr | Propositions as types | notes | P9.4 | |
| 25 Apr | Recursive types | notes | P20 | |
| 27 Apr | Equirecursive equality | notes | P21 | HW5 due HW6 out |
| 29 Apr | Existential types | notes | P24 | |
| 2 May | Object encodings | paper | P18, 24.2 | |
| 4 May | Monads | notes | Moggi Wadler |
|
| 6 May | Current Research in Programming Languages | HW6 due | ||
| 9 May | Study Period (no class) | |||
| 11 May | Study Period (no class) | |||
| 13 May | Final Exam (2:00-4:30pm) | |||