15-814: Types and Programming Languages (F26)

Schedule

This is a tentative schedule. There will likely be changes and we will try to keep this page up to date.

Week Date Event Topic Assignments PFPL
1
Aug 25 Lecture 01 Overview / Lambda Calculus Ch. 21
Aug 27 Lecture 02 Programming in the Lambda Calculus Ch. 21
2
Sep 1 Lecture 03 Recursion in the Lambda Calculus Hw 1 out Ch. 21
Sep 3 Lecture 04 Inference Rules and Definition of Substitution Ch. 1-3
3
Sep 8 Lecture 05 System T: Static Semantics and Type Soundness Hw 1 due / Hw 2 out Ch. 9
Sep 10 Lecture 06 Normalization, Definability Ch. 9
4
Sep 15 Lecture 07 Undefinability and Products Hw 2 due / Hw 3 out Ch. 10
Sep 17 Lecture 08 Sums and Type Isomorphisms Ch. 11
5
Sep 22 Lecture 09 Inductive and Co-inductive Types Hw 3 due / Hw 4 out Ch. 14,15
Sep 24 Lecture 10 Parametric Polymorphism: System F Ch. 16
6
Sep 29 Lecture 11 Exitential Types and Type Abstraction Hw 4 due / Hw 5 out Ch. 17
Oct 1 Lecture 12 Eager and Lazy Evaluation: PCF Ch. 19
7
Oct 6 Lecture 13 Recursive Types Hw 5 due Ch. 20
Oct 8 Midterm I Open book; during class
Oct 13 Fall Break
Oct 15 Fall Break
8
Oct 20 Lecture 14 Dynamic Types Hw 6 out Ch. 22
Oct 22 Lecture 15 Evaluation Dynamics and the K Machine Ch. 28
9
Oct 27 Lecture 16 Exceptions in the K Machine Hw 6 due / Hw 7 out Ch. 29
Oct 29 Lecture 17 Parametricity Ch. 48
10
Nov 3 Democracy Day
Nov 5 Lecture 18 Applications of Parametricity Hw 7 due / Hw 8 out Ch. 48
11
Nov 10 Lecture 19 Types as Propositions Ch. 12,13
Nov 12 Lecture 20 Substructural Type Systems Hw 8 due / Select MP -
12
Nov 17 Midterm II Open book
Nov 19 Lecture 21 Characterizing PTIME with LFPL -
13
Nov 24 Thanksgiving Break
Nov 26 Thanksgiving Break
14
Dec 1 Lecture 22 Automatic Amortized Resource Analysis -
Dec 3 Project Day MPs are due on Dec 7
Dec 16 Final grades due