15-814 Types and Programming Languages
Schedule

  • Lectures are Tuesday and Thursday, 10:30pm-11:50pm, GHC 4215
  • The lecture notes provide additional reading material
    They complement, but do not replace the lecture or the textbook
  • The schedule is subject to change throughout the semester
  • Chapter and exercise references are to the textbook
  • Further references can be found in the lecture notes and textbook
Date Lecture Notes Additional Reading Due

Tue Aug 27 No Lecture (CSD IC)
Thu Aug 29 No Lecture (CSD IC)

Tue Sep 3 The Lambda Calculus Ch 21.1-21.2
Thu Sep 5 Recursion Ch 21.2, lam.sml

Tue Sep 10 Simple Types Ch 8.1-8.2
Thu Sep 12 Representation Theorems

Tue Sep 17 Subject Reduction Asst 1
Thu Sep 19 From λ-Calculus to Programming Languages Ch 8.1-2, Ch 6

Tue Sep 24 Products Ch 10.1-2 Asst 2
Thu Sep 26 Sums Ch 11.1-2

Tue Oct 1 Recursive Types Ch 20, Ch 21.4 Asst 3
Thu Oct 3 Elaboration

Tue Oct 8 Exceptions Ch 29 Asst 4
Thu Oct 11 The K Machine Ch 28, code (in Haskell)

Tue Oct 15 Bisimulation Asst 5
Thu Oct 17 Midterm Exam (sample solution)    F'18 midterm (sample solution)

Tue Oct 22 Propositions as Types Ch 12
Thu Oct 24 Parametric Polymorphism Ch 16

Tue Oct 29 Parametricity Ch 16.3, Ch 48 Asst 6
Thu Oct 31 Data Abstraction

Tue Nov 5 Representation Independence Asst 7
Thu Nov 7 Shared Memory Concurrency

Tue Nov 12 Negative Types Asst 8
Thu Nov 14 Memory Safety

Tue Nov 19 Mutable Memory
Thu Nov 21 Linear Types

Tue Nov 26 No Class (Reading Day) Asst 9
Thu Nov 28 No Class (Thanksgiving Break)

Tue Dec 3 Message-Passing Concurrency [PP19, Sec 1-4]
Thu Dec 5 Review (15-814 PL Awards) Asst 10

Fri Dec 13 Final Exam 5:30pm-8:30pm, TEP 2611 (sample solution)

[ Home | Schedule | Assignments | Resources ]

fp@cs
Frank Pfenning