Schedule subject to change as course progresses.
|
Lecture slides for lectures not yet given are preliminary,
and may change.
|
Day |
Date |
Topic |
Slides and Code |
Videos |
Asmt Given |
Asmt Due |
Week 1 |
1 | Aug 22 |
Course Introduction, Introduction to OCaml |
slides: (PDF)
(Google Slides)
|
Lect 1
|
MP1: OCaml: Basic Ocaml
|
|
2 | Aug 24 |
Environments and Closures |
slides: (PDF)
(Google Slides)
|
Lect 2
|
WA1: Evaluation and Evironments
|
|
Week 2 |
3 | Aug 29 |
|
|
|
|
|
3 | Aug 29 |
Tuples, Partial Application, Currying, and Pattern Matching |
slides: (PDF)
(Google Slides)
|
Lect 3
|
MP2: Pattern Matching and Recursion
|
MP1 |
4 | Aug 30 |
Recursion, Evaluating Expressions in OCaml |
slides: (PDF)
(Google Slides)
|
Lect 4
|
WA2: Evaluating the Application of a Function
|
WA1 |
Week 3 |
5 | Sep 5 |
Lists, List Pattern Matching, Recursion over Lists, Structural Recursion |
slides: (PDF)
(Google Slides)
|
Lect 5
|
MP3: Patterns of Recursion, Higher-order Functions
|
MP2 |
6 | Sep 7 |
Forms of Recursion and Higher-Order Recursive Operators |
slides: (PDF)
(Google Slides)
|
Lect 6
|
WA3XC: Order of Evaluation |
WA2 |
Week 4 |
7 | Sep 12 |
|
|
|
|
|
7 | Sep 12 |
More Tail Recursion, Continuations |
slides: (PDF)
(Google Slides)
|
Lect 7
|
MP4: Higher-Order Functions and Continuation-Passing Style |
MP3 |
8 | Sep 14 |
Continuation Passing Style (CPS) Transformation |
slides: (PDF)
(Google Slides)
|
Lect 8
|
WA4: CSP Transformation; Working with Mathematical Specifications |
|
| 9/14-9/16 |
|
Covers through Leture 6 |
|
|
|
Week 5 |
9 | Sep 19 |
User Defined Types in Ocaml, Data Constructors and Pattern Matching
Lecture to be recorded in advance. No in-person lecture. |
slides: (PDF)
(Google Slides)
Lecture to be recorded in advance. No in-person lecture.
|
Lect 9
|
MP5: Working with ADTs: Implementing CPS Transformation
|
|
10 | Sep 21 |
Recursive Data Types in OCaml |
slides: (PDF)
(Google Slides)
|
Lect 10
|
WA4 was given 9/14
|
WA3XC |
Week 6 |
11 | Sep 26 |
Types and Type Systems |
slides: (PDF)
(Google Slides)
|
Lect 11
|
MP5 was given 9/19 |
MP4 |
12 | Sep 28 |
Type Derivation |
slides: (PDF)
(Google Slides) |
Lect 12
|
WA5: Polymorphic Type Derivation
|
WA4 |
Week 7 |
13 | Oct 3 |
|
|
|
|
|
13 | Oct 3 |
Monomorphic and Polymorphic Type Derivation |
I will be away at a Dagstuhl seminar. Prof. Elsa Gunter will cover.
See her section's lecture webpage for slides.
|
Lect 13
|
MP6: A Unification-Based Type Inferencer |
MP5 |
14 | Oct 5 |
Polymorphic Type Derivation |
I will be away at a Dagstuhl seminar. Prof. Elsa Gunter will cover.
See her section's lecture webpage for slides.
|
Lect 14
|
WA6: Incremental Unification Algorithm
|
WA5 |
Week 8 |
15 | Oct 10 |
Type Inference |
slides: (PDF)
(Google Slides) |
Lect 15
|
MP7: Unification Algorithm |
|
16 | Oct 12 |
Day Off for MT2 |
|
|
|
|
| 10/12-10/14 |
|
Covers Lecture 7 - 14 |
|
|
|
Week 9 |
17 | Oct 17 |
Unification |
slides: (PDF)
(Google Slides) |
Lect 17
|
WA7: Regular Expressions
|
MP6 |
18 | Oct 19 |
Regular Expressions, OCamllex |
slides: (PDF)
(Google Slides) |
Lect 18
|
MP8: A Lexer for PicoML
|
WA6 |
Week 10 |
19 | Oct 24 |
|
|
|
|
|
19 | Oct 24 |
OCamllex, BNF Grammars |
slides: (PDF)
(Google Slides) |
Lect 19
|
MP8 was given on 10/19 |
MP7 |
20 | Oct 26 |
Parse Trees, Parsing, Ambiguous Grammars, Ocamlyacc |
slides: (PDF)
(Google Slides) |
Lect 20
|
WA8: Parse Trees
|
WA7 |
Week 11 |
21 | Oct 31 |
LR Parsing, Action and Goto Tables |
slides: (PDF)
(Google Slides) |
Lect 21
|
MP9: A Parser for PicoML
|
MP8 |
22 | Nov 2 |
Disambiguating Grammars
|
notes: (PDF)
|
Lect 22
|
WA9: Natural and Transition Semantics |
WA8 |
Week 12 |
23 | Nov 7 |
Natural Semantics |
slides: (PDF)
(Google Slides)
|
Lect 23
|
MP10: An Evaluator for PicoML
|
MP9 |
24 | Nov 9 |
Day off for MT3 |
|
|
|
|
| 11/9-11/11 |
|
Covers Lecture 15-22 |
|
|
|
Week 13 |
25 | Nov 14 |
Transition Semantics |
slides: (PDF)
(Google Slides)
|
Lect 25
|
MP11: A Transition Semantics Evaluator for CPS
|
|
26 | Nov 16 |
Intro to Lambda Calculus |
slides: (PDF)
(Google Slides)
|
Lect 26
|
WA10:Lambda Calculus
|
WA9 |
Week of Fall Break |
| Nov 21 |
Thanksgiving |
|
|
|
|
| Nov 23 |
Thanksgiving |
|
|
|
|
Week 14 |
27 | Nov 28 |
|
|
|
|
|
27 | Nov 28 |
Lambda Calculus - Evaluation |
slides: (PDF)
(Google Slides)
|
Lect 27
|
WA11: Hoare Logic
|
MP10 |
28 | Nov 30 |
Intro to Axiomatic Semantics |
slides: (PDF)
(Google Slides)
|
Lect 28
|
|
WA10 |
Week 15 |
29 | Dec 5 |
Hoare Logic (cont) |
slides: (PDF)
(Google Slides)
|
Lect 29
|
|
MP11 |
|
| Dec 6 |
Last day of classes |
|
|
|
WA11, WA3XC? |
Finals Week |
| Dec 12 |
FINAL (8:00 AM - 11:00 AM) |
Cumulative, with more weight on the last third |
|
|
|