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 sporadically updated.

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, Jeff Vaughan, and Christos Dimoulas.

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
1Tue 28-Jan Intro to semantics, Proof tools P 2.4, 3
SF1-Induction,Imp
SF2-SmallStep
W 2,3,4
H 2
PDF Dafny
OCaml
Coq
2Thu 30-Jan Small-step semantics PDF PDF Coq
3Tue 4-Feb Induction PDF PDF Coq Assignment 1 released
4Thu 6-Feb Large-step semantics PDF PDF Coq
5Tue 11-Feb IMP: a simple imperative language PDF PDF Coq
6Thu 13-Feb Denotational semantics W 5
M 4.3
PDF PDF
Lambda calculus
7Tue 18-Feb Lambda calculus P 5
M 4.2
K 22
PDF PDF
8Thu 20-Feb Lambda calculus encodings and Recursion PDF PDF livecode
9Tue 25-Feb Definitional translations PDF PDF OCaml
Racket
Assignment 1 due
Assignment 2 released
10Thu 27-Feb References and continuations P 13
M 5,4, 8.3.2
H 29, 36
K 18-20
PDF PDF OCaml
Racket
Scheme
Types
11Tue 4-Mar Simply-typed lambda calculus
Type soundness
P 9
SF2-Stlc
SF2-StlcProp
M 6.1, 6.2
K 24-26

(P 12)
(SF2-Norm)

PDF PDF
13Thu 6-Mar More types P 11, 13
SF2-MoreStlc
SF2-References
PDF PDF OCaml Assignment 2 due
12Tue 11-Mar NO CLASS
MIDTERM
Assignment 3 released
14Thu 13-Mar Parameteric Polymorphism, Records and Subtyping P 23
M 6.4
P 11.8, 15
PDF PDF
No Class (Spring Recess)
15Tue 25-Mar Curry-Howard correspondence; Existential types P 9.4, 24
SF1-ProofObjects
PDF PDF Haskell
16Thu 27-Mar Type Inference P 22
K30
PDF PDF Prolog
17Tue 1-Apr Sub-structural type systems PDF PDF eg1.rs
eg2.rs
eg3.rs
eg4.rs
eg5.rs
Assignment 3 due
Assignment 4 released
18Thu 3-Apr Algebraic structures PDF PDF lecture.hs
m.hs
agediff.hs
io.hs
state.hs
lst.hs
walk.hs
Reasoning About Programs
19Tue 8-Apr Axiomatic Semantics and Hoare Logic SF2-Hoare
W 6
(W 7)
PDF PDF hoare.c
hoare.dfy
factorial.c
factorial.dfy
factorial2.dfy
sum.dfy
20Thu 10-Apr Dependent types PDF PDF Twelf
Coq
Misc. Topics
22Tue 15-Apr Guest Lecture Assignment 4 due
Assignment 5 released
21Thu 17-Apr Logic Programming M 15
K32-34
PDF PDF Notebook
livecode
24Tue 22-Apr Concurrency M 14 PDF PDF ex1.go
ex2.go
ex3.go
Assignment 6 released
25Thu 24-Apr Embedded Ethics
(Eliza Wells)
Assignment 5 due
23Tue 29-Apr Guest Lecture Assignment 6 due
TBD TBD-May FINAL EXAM: May TBD