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 |
1 | Aug 23 | Course Introduction, Introduction to Ocaml, Environments |
slides (PPT)
(full sized PDF)
(6 up PDF)
code (OCaml CODE) (SHELL) |
Lect 1 | MP1: OCaml: Basic Ocaml | |
2 | Aug 25 | Ocaml Boolean, Tuples, Functions, Closures | slides continued from Lecture 2 | Lect 2 | WA1: Evaluation and Evironments | |
3 | Aug 30 | Closures and Evaluation of Function Application, Order of Evaluation in OCaml | slides (PPT) (full sized PDF) (6 up PDF) | Lect 3 | MP2: Pattern Matching and Recursion | MP1 |
4 | Sep 1 | Higher-Order Functions, Pattern Matching and Recursion over Lists | slides (PPT) (full sized PDF) (6 up PDF) | Lect 4 | WA2: Evaluating the Application of a Function | WA1 |
5 | Sep 6 | Lists, List Pattern Matching, Recursion over Lists, Structural Recursion | slides continued from Lecture 4 | Lect 5 | MP3: Patterns of Recursion, Higher-order Functions | MP2 |
6 | Sep 8 | Forms of Recursion and Higher-Order Recursive Operators | slides continued from Lectures 4 and 5 | Lect 6 | WA3XC: Order of Evaluation | WA2 |
7 | Sep 13 | Continuations and Continutation Passing Style | slides (PPT) (full sized PDF), (6 up PDF) | Lect 7 | MP4: Higher-Order Functions and Continuation-Passing Style | |
8 | Sep 15 | Continuation Passing Style (CPS) Transformation | slides continued from Lecture 7 | Lect 8 | WA4XC: CSP Transformation; Working with Mathematical Specifications | MP3 |
9 | Sep 20 | User Defined Types in Ocaml, Data Constructors and Pattern Matching | slides (PPT) (full sized PDF), (6 up PDF) | Lect 9 | MP5: Working with ADTs: Implementing CPS Transformation (NOT covered on Midterm 1) | MP4 |
10 | Sep 22 | Recursive Data Types in OCaml | slides continued from Lecture 9 | Lect 10 | ||
11 | Sep 27 | Types and Type Systems | slides (PPT) (full sized PDF) (6 up PDF) | Lect 11 | ||
12 | Sep 29 | MIDTERM 1 | Covers through Lecture 8 | |||
13 | Oct 4 | Type Inference | slides continued from Lecture 11 | Lect 13 | MP6: A Unification-Based Type Inferencer | MP5 |
14 | Oct 6 | Monomorhic and Polymorphic Type Derivation | slides (PPT) (full sized PDF) (6 up PDF) | Lect 14 | WA5: Polymorphic Type Derivation | |
15 | Oct 11 | Type Inference | slides (PPT) (full sized PDF) (6 up PDF) | Lect 15 | MP7: Unification Algorithm | |
16 | Oct 13 | Unification | slides continued from Lecture 15 | Lect 16 | WA6: Incremental Unification Algorithm | WA5, MP6 |
17 | Oct 18 | Regular Expressions, OCamllex | slides (PPT) (Full PDF) (Six Up PDF) | Lect 17 |
MP8: A Lexer for PicoML
WA7: Regular Expressions |
MP7 |
18 | Oct 20 | OCamllex, BNF Grammars, Parse Trees | slides (cont) | Lect 18 | WA8: Parse Trees | WA6 |
19 | Oct 25 | Parsing, Ambiguous Grammars |
slides (PPT)
(PDF)(full sized PDF)
(6 up PDF)
code (expr.ml) (exprlex.mll) (exprparse.mly) |
Lect 19 | MP9: A Parser for PicoML | MP8 |
20 | Oct 27 | Ambiguous Grammars, Ocamlyacc | slides (cont) | Lect 20 | WA7 | |
21 | Nov 1 | Disambiguating Grammars | slides (PPT) (Full PDF) (Six Up PDF) | Lect 21 | MP10: An Evaluator for PicoML | |
22 | Nov 3 | LR Parsing, Action and Goto Tables | slides continued from last time | Lect 22 | WA9: Natural and Transition Semantics | WA8 |
Nov 8 | Election Day (no class) | |||||
23 | Nov 10 | MIDTERM 2 | Covers Lecture 9 through parsing theory in Lecture 20 | |||
24 | Nov 15 | Natural Semantics | slides (PPT) (Full PDF) (Six Up PDF) | Lect 24 | MP11: A Transition Semantics Evaluator for CPS | MP9 |
25 | Nov 17 | Transition Semantics | slides continued from last time | Lect 25 | WA9 | |
Nov 22 | Thanksgiving | |||||
Nov 24 | Thanksgiving | |||||
26 | Nov 29 | Lambda Calculus - Evaluation | slides (PPT) (Full PDF) (Six Up PDF) | Lect 26 | WA10:Lambda Calculus WA11: Hoare Logic | MP10 |
27 | Dec 1 | Intro to Axiomatic Semantics | slides:
(PPT)
(Full PDF)
(Six Up PDF) extra slides: (PPT) (Full PDF) (Six Up PDF) |
Lect 27 | ||
28 | Dec 6 | Hoare Logic (cont) | Lect 28 | WA10, MP11 | ||
30 | Dec 7 | Last day of classes | WA11 | |||
Dec 13 | FINAL (7:00pm - 10:00pm) | Cummulative, with more weight on the last third |