15-814 Types and Programming Languages

  • Lectures are Tuesday and Thursday, 9:50-11:10 ET, synchronously (live) via Zoom
  • Live lecture attendance is expected when feasible
  • Lectures will be recorded for the benefit of those in other time zones
  • Zoom links to live lectures and recordings are available through Canvas
  • External Zoom link for lecture guests (password required)
  • 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
  • Combined lectures notes (single PDF, 11mb)

For more detailed information see:

Date Lecture Notes Additional Reading Code Due

Tue Sep 1 The Lambda Calculus slides, Ch 21.1-21.2 bool.lam
Thu Sep 3 Primitive Recursion nat.lam

Tue Sep 8 Recursion Ch 21.2 rec.lam
Thu Sep 10 Representation Theorems rule sheet

Tue Sep 15 Subject Reduction Asst 1
Thu Sep 17 Parametric Polymorphism nat.poly

Tue Sep 22 From λ-Calculus to Programming Languages tree.poly Asst 2
Thu Sep 24 Progress rule sheet

Tue Sep 29 Sums rule sheet Asst 3
Thu Oct 1 Recursive Types rule sheet u.sml, udb.sml

Tue Oct 6 Elaboration bin.cbv Asst 4
Thu Oct 8 Pattern Matching patmatch.cbv

Tue Oct 13 Exceptions Asst 5
Thu Oct 15 The K Machine cps-live.cbv

Tue Oct 20 Types as Propositions
Thu Oct 22 No Class (Midsemester Break)

Tue Oct 27 Parametricity Ch 16.3, Ch 48
Thu Oct 29 Data Abstraction

Tue Nov 3 Representation Independence exists.cbv
Thu Nov 5 Shared Memory Concurrency MP 1

Tue Nov 10 Negative Types rule sheet
Thu Nov 12 Concurrent Programming

Tue Nov 17 Lazy Records and Mutable Store nat.cbv, lazy.cbv, lazy-poly.cbv Asst 6
Thu Nov 19 Linear Types rule sheet

Tue Nov 24 No Class (Reading Day)
Thu Nov 26 No Class (Thanksgiving Break)

Tue Dec 1 Message-Passing Concurrency Asst 7
Thu Dec 3 Arithmetic Refinements

Tue Dec 8 Ergometric Types
Thu Dec 10 No Class (PoP Seminar: Dreyer) MP 2

[ Home | Schedule | Assignments | Resources | Software ]

Frank Pfenning