The following schedule is subject to change. Supplementary slides are available in CourseSite

Week Dates Topics Readings
1 8/30 Intro; Math Preliminaries Ch2
9/1 OCaml quick overview Chapter 2 of "Developing Applications with Objective Caml"
2 9/6, 9/8 Formalizing syntax and semantics Ch3, Ch4
3 9/13, 9/15 Lambda calculus Ch5
4 9/20, 9/22 Type safety Ch8
5 9/27, 9/29 Simply typed lambda calculus; type extensions Ch9, Ch11
6 10/4, 10/6 Type extensions Ch11
7 10/11 Pacing break
10/13 Mutable references Ch13
8 10/18 Midterm exam
10/20 Subtyping Ch15
9 10/25 Subtyping Ch15
10/27 Polymorphic types Ch23
10 11/1 Class canceled due to a power outage
10 11/3 Existential types Ch24
11 11/8, 11/10 Type inference Ch22
12 11/15 CIL
11/17 Recursive types Ch20
13 11/22 Exceptions
11/24 Thanksgiving break Thank you!
14 11/29, 12/1 Continuations
15 12/6, 12/8 Continuations