Dateline

We will fill in this M/W dateline as we go based on the topics covered on the indicated day. The Syllabus contains the general plan we are following. For the Friday schedule, see The fall PL Lab Seminar Schedule.

Lecture material are under the indicated links; the assignments are here.

Day
Date
 Lecture
Readings
Assignment due
Aug 30
"Mon"
Course Overview
 
 
Sep 4
Wed
More Functional Programming: folds, functors
 
 
Sep 9
Mon
 
 
Sep 11
Wed
Program Transformations: A-translation
 
Sep 16
Mon
More Transformations: Closure Conversion, Exception encoding
 
 
Sep 18
Wed
Yet More Transformations: State, Continuation Passing
 
Sep 23
Mon
Uniting effecting translations: Monads
A1
Sep 25
Wed
More monads
 
 
Sep 30
Mon
Monad programming
monads.ml (minor variation on Leroy code)
 
Oct 2
Wed
Monad Transformers; Intro to operational semantics
 
 
Oct 7
Mon
Small-step operational semantics
A2
Oct 9
Wed
Environment-based opsem
 
Oct 14
Mon
More Environment-based opsem; intro to Program analysis
 
 
Oct 16
Wed
Program analysis: finitizing reduction
PL II book (for all program analysis)
 
Oct 21
Mon
Program analysis: nearly the full system
 
A3
Oct 23
Wed
Program Analysis: the full system
 
 
Oct 28
Mon
Implementing Analyses; Industrial strength analysis
 
Oct 30
Wed
Symbolic evaluation
PL II book, chapter 3
 
Nov 4
Mon
Symbolic Evaluation
 
A4
Nov 6
Wed
Symbolic Evaluation
 
 
Nov 11
Mon
Concolic Execution; Type Systems Intro
 
Nov 13
Wed
Type Systems
 
Nov 18
Mon
Type Systems
 
A5
Nov 20
Wed
Type Systems
 
 
Nov 25
Mon
Gobble Gobble!
 
 
Nov 27
Wed
Talk Turkey!
 
 
Dec 2
Mon
Implementing Symbolic Eval; Dependent Types (p.15-16 of this thesis)
 
 
Dec 4
Wed
Curry-Howard Isomorphism; Agda