NOTE: The current schedule is tentative and subject to change. Nonetheless it gives an idea of the material to be covered in this course. The lecture notes are seeded from previous years, and will be updated immediately before and after each lecture.

Key to readings: P = Pierce; SF = Software Foundations; M = Mitchell; W = Winskel; K = Krishnamurthi 1st ed.; K2nd = Krishnamurthi 2nd ed.; H = Harper. The readings are not required, but may help your understanding of the lecture material.

The lecture notes here contain material from lecture notes by Stephen Chong, Radu Rugina, Andrew Myers, Nate Foster, and Jeff Vaughan.

Videos of the lecture and section are available on Canvas / Extension Class Meetings. The same site also provides live streams for lecture.

For background material on sets, relations, functions, and induction, see: W 1, H 2, H Appendix, and/or P 2.

Lec. Date Topic Readings Notes Slides Code Assignments
Semantics
0Tue 28-Jan Intro to semantics, Proof tools P 2.4, 3
SF1-Induction,Imp
SF2-SmallStep
W 2,3,4
H 2
1Thu 30-Jan Intro to semantics, Proof tools
2Tue 4-Feb Small-step semantics PDF PDF Coq
Assignment 1 released
3Thu 6-Feb Induction PDF PDF Coq
4Tue 11-Feb Large-step semantics PDF
5Thu 13-Feb IMP: a simple imperative language PDF
6Tue 18-Feb Denotational semantics W 5
M 4.3
PDF PDF
Lambda calculus
7Thu 20-Feb Lambda calculus P 5
M 4.2
K 22
PDF PDF
8Tue 25-Feb Lambda calculus encodings and Recursion PDF PDF
9Thu 27-Feb Definitional translations PDF PDF Assignment 1 due
Assignment 2 released
10Tue 3-Mar References and continuations P 13
M 5,4, 8.3.2
H 29, 36
K 18-20
PDF PDF
Types
11Thu 5-Mar Simply-typed lambda calculus
Type soundness
P 9
SF2-Stlc
M 6.1, 6.2
K 24-26
PDF PDF
12Tue 10-Mar NO CLASS
(Take midterm on Canvas by 24-Mar)
13Thu 12-Mar More types P 11, 13
SF2-Stlc2
PDF Assignment 3 released
Spring Recess
14Tue 24-Mar Parameteric Polymorphism, Records and Subtyping P 23
M 6.4
P 11.8, 15
PDF PDF
15Thu 26-Mar Curry-Howard isomorphism; Existential types P 9.4
SF1-ProofObjects
PDF PDF Assignment 2 due
16Tue 31-Mar Type inference P 22
K 30
PDF PDF Assignment 4 released
17Thu 2-Apr Sub-structural type systems PDF PDF Assignment 3 due
18Tue 7-Apr Algebraic structures PDF PDF
Reasoning About Programs
19Thu 9-Apr Axiomatic Semantics and Hoare Logic SF2-Hoare PDF PDF
20Tue 14-Apr Dependent types PDF PDF Assignment 4 due; Assignment 5 released
Misc. Topics
21Thu 16-Apr Logic Programming M 15
K32-34
PDF
22Tue 21-Apr Probabilistic Programming Guest lecturer: Yizhou Zhang
23Thu 23-Apr Dynamic Types PDF PDF .rkt
24Tue 28-Apr Semantics of Concurrency PDF PDF
Fri 1-May Assignment 5 due
TBD TBD-May FINAL EXAM: TBD