Lectures

The following schedule is tentative. Most likely some of the topic will change during the semester. As the course progresses hyperlinks will be provided to the lecture notes. The project assignments are provided early so that you know what to expect. Those handouts are likely to change by the time the project stage is assigned.

Week Lec. Date Topic Reading Assigned Due (in lecture, unless specified below)
1   Jan. 16 No lecture    
  Jan. 18 No lecture      
2 1 Jan. 23 Course overview and motivation (PDF)      
2 Jan. 25 A Simple Imperative Language. Operational Semantics (PDF) Homework 1  
3 3 Jan. 30 Proof Techniques for Operational Semantics. Structural Induction (PDF) Winskel, Ch.3.    
4 Feb. 1 Intro to Denotational Semantics and Domain Theory (PDF) Winskel Ch. 8 and Ch 3 Homework 2 HMW1
4 5 Feb. 6 Intro to DenotationalSemantics and Domain Theory (same slides as above)      
6 Feb. 8 Axiomatic Semantics (PDF) Homework 3 HMW2
5 7 Feb. 13 More axiomations semantics (same slides)      
8 Feb. 15 Finish axiomatic semantics      
6 9 Feb. 20 Abstract Interpretation (PDF)
10 Feb. 22 Abstract Interpretation (same slides) Homework 4
7 11 Feb. 27 Introduction to Lambda Calculus (PDF)    
12 Mar. 1 Simply Typed Lambda Calculus (PDF) Homework 5 HMW4
8 13 Mar. 6 Simply Types Lambda Calculus. Continued    
14 Mar. 7 Exceptions and Continuations (same slides)   Homework 6 HMW5
9 15 Mar. 13 Recursive Types and Subtyping (PDF)      
16 Mar. 15 Finish subtyping. Polymorphism (PDF)     HMW6
10 17 Mar. 20 Types for Data Abstraction and Modularity (same slides as above)      
18 Mar. 22 Dependent Types (PDF)      
11   Mar. 27 No lecture. Spring break.      
  Mar. 29 No lecture. Spring break.      
12 19 Apr. 3 Dependent Types      
20 Apr. 5 Types for Low-Level Languages      
13 21 Apr. 10 Types and Effects. Types for Memory Management.      
22 Apr. 12 Shape analysis.      
14 23 Apr. 17 No lecture      
24 Apr. 19 Dependent Types for Imperative Programming      
15 25 Apr. 24 Design of Astree, an abstract interpretation-based static analyzer   Take home FINAL  
26 Apr. 26 No lecture. Faculty retreat.      
16 27 May. 1 A formalization of the Java Virtual Machine.      
28 May. 3 Project presentations      
17   May. 8 Project presentations