Schedule

The following schedule is approximate and subject to change. Please listen for announcements in class; also see Blog.
Readings: P = Pierce; FFF = Felleisen, Findler, Flatt.
| Date | Topic | Readings | Problem Set | 
| 01/06 M | Welcome; syntax; reduction; structural operational semantics | P 1,2; FFF I.1 | |
| 01/08 W | Redex | FFF II.A, II.11, II.12 Quote, Unquote | |
| 01/13 M | Lambda calculus; CBV vs. CBN; recursion; encodings | P 3,5; FFF I.2, I.3 | |
| 01/15 W | Evaluation contexts; reduction; equivalence; normal forms | P 5.2 | PS1 due 01/16 | 
| 01/20 M | no class: MLK day | ||
| 01/22 W | no class: POPL | ||
| 01/27 M | cancelled | PS2 due 01/27 | |
| 01/29 W | Semantics by translation | ||
| 02/03 M | Imperative languages: small-step and big-step SOS | P 3.2,3.3 | |
| 02/05 W | Inductive definitions, well-founded induction, rule induction | ||
| 02/07 F | Proofs by structural and rule induction | Project Topic due | |
| 02/10 M | uML, strong typing, run-time type checking | PS3 due | |
| 02/12 W | State and memory; Naming and scope | ||
| 02/14 F | Abstract machines | FFF I.6 | |
| 02/17 M | no class: Presidents' day | ||
| 02/19 W | Continuation-passing style; CPS conversion | ||
| 02/21 F | Compiling with continuations | ||
| 02/24 M | Simply typed lambda calculus | P 8.1,8.2, 9.1.,9.2 | Project Proposal due, PS4 due 02/25 | 
| 02/26 W | Type safety | P 8.2,9.3-9.5 | |
| 02/27 Th | MIDTERM: 5pm-6:40pm | ||
| 03/02 M | Spring break | ||
| 03/04 W | Spring break | ||
| 03/09 M | Products, sums, recursion, and more | P 11 | |
| 03/11 W | References | P 13 | |
| 03/16 M | Exceptions | P 14 | |
| 03/18 W | Subtyping | P 15.1-15.6 | PS5 due 03/20 | 
| 03/23 M | Recursive Types | P 20 | |
| 03/25 W | Parametric polymorphism | P 23 | |
| 03/30 M | Strong normalization and logical relations | P 12 | PS6 due 03/30 | 
| 04/01 W | Existential types | P 24 | |
| 04/06 M | Propositions as Types/Linear Types | P 9.4 | Project Report due | 
| 04/08 W | Project Presentations (2:50-?:??) | ||
| 04/10 F | Project Presentations (?:00-?:00) | ||
| 04/13 M | Project Presentations (2:50-?:??) | ||
| 04/14 Tu | Project Presentations (tbd) | ||
| 04/15 W | Project Presentations (2:50-?:??) | ||
| 04/16 Th | Project Presentations (tbd) | ||
| 04/17 F | Project Presentations (tbd) | 
There will be no class on the dates in red.