15-814 Types and Programming Languages

  • Lectures are Tuesday and Thursday, 10:10-11:30 ET, GHC 4301 (in person)
  • Lectures will be recorded for the benefit of those who cannot be on campus
  • Zoom links to lectures recordings are available through Canvas
  • The lecture notes provide additional reading material
    They complement, but do not replace the lecture
    I endeavor to publish them within a day or two after the lecture
  • The schedule is subject to change throughout the semester
  • Chapter references are to the textbook
  • Further references can be found in the lecture notes and textbook

For more detailed information see:

Date Lecture Notes Additional Reading Code Due

Tue Aug 31 The Lambda Calculus bool-live.lam   bool.lam
Thu Sep 2 Primitive Recursion nat-live.lam   nat.lam

Tue Sep 7 Recursion rec.lam
Thu Sep 9 Subject Reduction Asst 1

Tue Sep 14 Representation Theorems rule sheet
Thu Sep 16 Parametric Polymorphism rule sheet nat.poly Asst 2

Tue Sep 21 From λ-Calculus to Programming Languages tree.poly
Thu Sep 23 Progress and Preservation rule sheet Asst 3

Tue Sep 28 Sums rule sheet
Thu Sep 30 Recursive Types rule sheet rec.cbv Asst 4

Tue Oct 5 Elaboration
Thu Oct 7 Midsemester Review Asst 5

Tue Oct 12 Midterm Exam (In Class) (midterm'18) (soln) (midterm) (soln)
Thu Oct 14 No Class (Midsemester Break) (midterm'19) (soln)

Tue Oct 19 The K Machine k-live.cbv   k.cbv
Thu Oct 21 Bisimulation Asst 6

Tue Oct 26 Parametricity
Thu Oct 28 Data Abstraction Asst 7

Tue Nov 2 Representation Independence absnat.cbv
Thu Nov 4 Types as Propositions Asst 8

Tue Nov 9 Concurrency
Thu Nov 11 Negative Types rule sheet Asst 9

Tue Nov 16 Message-Passing Concurrency
Thu Nov 18 Temporal Types and Propositions

Tue Nov 23 No Class (Project Day)
Thu Nov 25 No Class (Thanksgiving Break)

Tue Nov 30 Linear Types lecture slides   rule sheet
Thu Dec 2 No Class (Project Day) MP

[ Home | Schedule | Assignments | Resources | Software ]

Frank Pfenning