Schedule subject to change as course progresses. |
Lecture slides for not yet given lectures are preliminary, and may change. |
May 28 |
Course Introduction & Introduction to OCaml |
slides (PPT)
(PDF)
code (OCaml)
|
May 30 |
Recursion Patterns |
slides
(PPT)
(PDF)
|
|
Jun 3 |
Continuation Passing Style |
slides
(PPT)
(PDF)
|
Jun 4 |
CPS continued |
slides continued from previous lecture
|
Jun 6 |
User-Defined Types in OCaml |
slides (PPT)
(PDF),
code (OCaml)
|
|
Jun 10 |
Type Systems |
slides (PPT) (PDF)
|
Jun 11 |
Type Systems |
slides (PPT) (PDF)
|
Jun 13 |
Polymorphic Types |
slides (PPT) (PDF)
|
|
Jun 17 |
Type Inferencing |
slides (PPT) (PDF)
|
Jun 18 |
Unification |
slides (PPT)
(PDF)
|
|
Jun 20 |
DFAs and Lexing |
slides (PPT)
(PDF)
|
|
Jun 24 |
ocamllex and BNF Grammars |
slides (PPT)
(PDF)
and (PPT)
(PDF)
|
Jun 25 |
Midterm Review |
|
Jun 27 |
MIDTERM 1 |
|
|
Jul 1 |
Grammars and LL (Recursive Descent) |
slides (PPT)
(PDF)
|
Jul 2 |
LL and (G)LR Parsing |
slides (PPT)
(PDF)
and (PPT)
(PDF)
|
|
Jul 8 |
Big-step Semantics |
slides (PPT)
(PDF)
|
Jul 9 |
Small-step Semantics |
slides (PPT)
(PDF)
|
Jul 11 |
Small-step Semantics and Intro to Lambda Calculus |
slides (PPT)
(PDF)
and (PPT)
(PDF)
|
|
Jul 15 |
Lambda Calculus |
slides (PPT)
(PDF)
|
Jul 16 |
Midterm Review |
|
Jul 18 |
MIDTERM 2 |
|
|
Jul 22 |
Lambda Calculus and Data Types |
slides (PPT)
(PDF)
and (PPT)
(PDF)
|
Jul 23 |
Lambda Calculus, Data Types, and Recursion |
slides (PPT)
(PDF)
|
Jul 25 |
Lambda Calculus and Recursion, Hoare Logic |
slides (PPT)
(PDF)
and (PPT)
(PDF)
|
|
Jul 29 |
Hoare Logic |
slides (PPT)
(PDF)
|
Jul 30 |
Recap, Big Picture, and Compiler Verification |
slides (PPT)
(PDF)
|
Aug 1 |
Final Review |
|
|
Aug 3 |
FINAL 1-3PM |
|