| 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 |
|