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 | Jan 18 | Course Introduction |
slides
(PPT)
(full sized PDF)
(6 up PDF)
code (OCaml CODE) (SHELL) |
Lect 1 | MP1: OCaml: Basic Ocaml | |
2 | Jan 20 | Ocaml Environments, Functions, Closures | slides (PPT) (full sized PDF) (6 up PDF) | Lect 2 | WA1: Evaluation and Evironments | |
Week 2 | ||||||
3 | Jan 23 | Environments, Closures, Higher-order Functions | slides (PPT) (full sized PDF) (6 up PDF) | Lect 3 | ||
4 | Jan 25 | Tuples Patterns, Closures, Basic Evaluation in OCaml | slides (PPT) (full sized PDF) (6 up PDF) | Lect 4 | MP2: Pattern Matching and Recursion | MP1 |
5 | Jan 27 | Recursive Functions, Lists, Recursion over Lists | slides (PPT) (full sized PDF) (6 up PDF) | Lect 5 | WA2: Order of Evaluation | WA1 |
Week 3 | ||||||
6 | Jan 30 | Quiz 1 - Covers MP1 | ||||
6.5 | Jan 30 | Forms of List Recursion | slides continued from Lecture 5 | Lect 6 | ||
7 | Feb 1 | Forward Recursion, fold_right | slides (PPT) (full sized PDF) (6 up PDF) | Lect 7 | MP3: Patterns of Recursion, Higher-Order Functions | MP2 |
8 | Feb 3 | Tail Recursion, fold_left | slides (PPT) (full sized PDF) (6 up PDF) | Lect 8 | WA3XC: Evaluating the Application of a Function | WA2 |
Week 4 | ||||||
9 | Feb 6 | Continuations and Continutation Passing Style | slides (PPT) (full sized PDF), (6 up PDF) | Lect 9 | ||
10 | Feb 8 | Continuation Passing Style for Recursion and Higher Order Functions | slides (PPT) (full sized PDF), (6 up PDF) | Lect 10 | MP4: Higher-Order Functions and Continuation-Passing Style | MP3 |
11 | Feb 10 | Continuation Passing Style (CPS) Transformation, Intro to Algebriac Datatypes, Pattern Matching | slides (PPT) (full sized PDF), (6 up PDF) | Lect 11 | WA4: CSP Transformation; Working with Mathematical Specifications | |
Week 5 | ||||||
Feb 11 - Feb 14 | MIDTERM 1 | In the CBTF - You must register for a date | Covers through Lecture 8 | |||
12 | Feb 13 | No Class: MIDTERM 1 | Covers MP1, WA1, MP2, WA2, MP3 | |||
13 | Feb 15 | User Defined Types in Ocaml, Data Constructors and Pattern Matching | slides (PPT) (full sized PDF), (6 up PDF) | Lect 13 | MP5: Working with ADTs: Implementing CPS Transformation | |
14 | Feb 17 | Recursive Data Types in OCaml | slides (PPT) (full sized PDF), (6 up PDF) | Lect 14 | WA4 was released on Feb 10 | |
Week 6 | ||||||
15 | Feb 20 | Functions over Recursive Data Types in OCaml, Mutual Recursive Type, Nested Recursive Types | slides (PPT) (full sized PDF) (6 up PDF) | Lect 15 | ||
16 | Feb 22 | The Roles of Types, Features of Type Systems, Specifying Monomorphic Type System | slides (PPT) (full sized PDF) (6 up PDF) | Lect 16 | MP5 was relased on Feb 15 | MP4 |
17 | Feb 24 | Monomorphic Type System | slides (PPT) (full sized PDF) (6 up PDF) | Lect 17 | WA5: Polymorphic Type Derivation | WA4 |
Week 7 | ||||||
18 | Feb 27 | Quiz 2: MP 4 - Moved because of tornado warning | ||||
18.5 | Feb 27 | Monomorphic Type Derivation Example | slides (PPT) (full sized PDF) (6 up PDF) | Lect 18 | ||
19 | Mar 1 | Quiz 2: MP 4 | MP6: A Unification-Based Type Inferencer | MP5 | ||
20 | Mar 3 | Polymorphic Type System |
slides
(PPT)
(full sized PDF)
(6 up
PDF)
slides for extra lecture (PPT) (full sized PDF) (6 up PDF) |
Lect 20 | WA6: Incremental Unification Algorithm | WA5 - Due Mar 5 |
Week 8 | ||||||
21 | Mar 6 | Type Inference | slides (PPT) (full sized PDF) (6 up PDF) | Lect 21 | ||
22 | Mar 8 | Unification Definition | slides (PPT) (full sized PDF) (6 up PDF) | Lect 22 | MP7: Unification Algorithm | |
23 | Mar 10 | Unification Example | slides (PPT) (full sized PDF) (6 up PDF) | Lect 23 | WA7: Regular Expressions | MP6 |
Week of Spring Break | ||||||
Mar 13 | Spring Break | |||||
Mar 15 | Spring Break | |||||
Mar 17 | Spring Break | |||||
Week 9 | ||||||
24 | Mar 20 | Language Translation, Syntax, Regular Expressions | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 24 | WA6 | |
25 | Mar 22 | Right Regular Grammars, ocamllex Regular Expressions | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 25 | MP8: A Lexer for PicoML | MP7 |
26 | Mar 24 | OCamllex, BNF Grammars, Parse Trees | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 26 | WA8: Parse Trees | |
Week 10 | ||||||
Mar 25 - Mar 28 | MIDTERM 2 | Covers Lectures 9 - 21 | ||||
27 | Mar 27 | No Class: MIDTERM 2 | Covers MP4, WA4, MP5, WA5, MP6 | |||
28 | Mar 29 | OCamllex example, BNF Grammars |
slides
(PPT)
(full sized PDF)
(6 up PDF)
code (expr.ml) (exprlex.mll) (exprparse.mly) |
Lect 28 | ||
29 | Mar 31 | Parsing, Parse Trees | slides (PPT) (full sized PDF) (6 up PDF)--> | Lect 29 | WA8 was released on Mar 24 | WA7 |
Week 11 | ||||||
30 | Apr 3 | Quiz 3 - Covers MP7 | ||||
30.5 | Apr 3 | Disambiguating Grammars (cont) | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 30 | MP9: A Parser for PicoML | |
31 | Apr 5 | Ocamlyacc | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 31 | MP9 was released on Apr 3 | MP8 |
32 | Apr 7 | LR Parsing, Action & Goto Tables and Ambiguity | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 32 | WA9: Natural and Transition Semantics | WA8 |
Week 12 | ||||||
33 | Apr 10 | Disambiguating Grammars | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 33 | ||
34 | Apr 12 | Intro to Dynamic Semantics, Natural Sematics | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 34 | MP10: An Evaluator for PicoML | |
35 | Apr 14 | Transition Semantics | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 35 | WA10: Lambda Calculus | |
Week 13 | ||||||
Apr 15 - Apr 18 | MIDTERM 3 | Covers Lecture 21 - 32 | ||||
36 | Apr 17 | No Class: MIDTERM 3 | Covers WA6, MP7, WA7, MP8, WA8 | |||
37 | Apr 19 | Transition Semantics Cont., Intro to Lambda Calculus | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 37 | MP11: A Transition Semantics Evaluator for CPS | MP9 |
38 | Apr 21 | The Lambda Calculus - alpha equivalence and beta conversion | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 38 | WA10 was released on Apr 12 | WA9 |
Week 14 | ||||||
39 | Apr 24 | Quiz 4 - Covers MP9 | ||||
39.5 | Apr 24 | Lambda Calculus Evaluation Strategies (Eager and Lazy) | slides Continued from Lecture 38 | Lect 39 | ||
40 | Apr 26 | Intro to Axiomatic Semantics |
slides:
(PPT)
(full sized PDF)
(6 Up PDF) |
Lect 40 | MP11 was released on Apr 19 | MP10 |
41 | Apr 28 | Intro to Axiomatic Semantics (cont) |
slides:
(PPT)
(full sized PDF)
(6 Up PDF) extra slides: (PPT) (full sized PDF) (6 Up PDF) |
Lect 41 | WA11: Hoare Logic | WA10 |
Week 15 | ||||||
42 | May 1 | Axiomatic Semantics, aka Hoare Logic | slides continued from Lect 41 | Lect 42 | MP11 | |
43 | May 3 | Hoare Logic Examples | slides (PPT) (full sized PDF) (6 Up PDF) | Lect 43 | WA11, WA3XC | |
Finals Week | ||||||
May 12 |
FINAL (1:30pm - 4:40pm) Alert: There was an error in this earlier. |
Cummulative, with more weight on the last fourth |