|
Schedule subject to change as course progresses.
|
|
Lecture slides for lectures not yet given are preliminary,
and may change or may not be posted yet.
|
| Day |
Date |
Topic |
Slides and Code |
Videos |
Asmt Given |
Asmt Due |
| Week 1 |
| 1 | Aug 25 |
Course Introduction, Introduction to Ocaml, Environments |
slides (PPT)
(full sized PDF)
code (OCaml CODE)
(SHELL)
|
Lect 1
|
MP1: OCaml: Basic Ocaml
|
|
| 2 | Aug 27 |
Ocaml Boolean, Tuples, Functions, Closures |
slides continued from Lecture 1
|
Lect 2
|
WA1: Evaluation and Evironments
|
|
| Week 2 |
| 3 | Sep 1 |
Closures and Evaluation of Function Application, Order of Evaluation in OCaml |
slides
(PPT)
(full sized PDF)
|
Lect 3
|
MP2: Pattern Matching and Recursion
|
MP1 |
| 4 | Sep 3 |
Higher-Order Functions, Pattern Matching and Recursion over Lists |
slides continued from Lecture 3
|
Lect 4
|
WA2: Evaluating the Application of a Function
|
WA1 |
| Week 3 |
| 5 | Sep 8 |
Lists, List Pattern Matching, Recursion over Lists, Structural Recursion |
(PPT)
(full sized PDF)
|
Lect 5
|
MP3: Patterns of Recursion, Higher-order Functions
|
|
| 6 | Sep 10 |
|
|
|
|
MP2 |
| 6 | Sep 10 |
Forms of Recursion and Higher-Order Recursive Operators |
slides continued from Lecture 5
|
Lect 6
|
WA3XC: Order of Evaluation |
WA2 |
| Week 4 |
| 7 | Sep 15 |
Continuations and Continutation Passing Style |
slides (PPT)
(full sized PDF),
|
Lect 7
|
MP4: Higher-Order Functions and Continuation-Passing Style |
MP3 |
| 8 | Sep 17 |
Continuation Passing Style (CPS) Transformation |
slides continued from Lecture 7
|
Lect 8
|
WA4: CSP Transformation; Working with Mathematical Specifications |
WA3XC (full cr) |
| Week 5 |
| 9 | Sep 22 |
User Defined Types in Ocaml, Data Constructors and Pattern Matching |
slides (PPT)
(full sized PDF),
|
Lect 9
|
MP5: Working with ADTs: Implementing CPS Transformation
|
MP4 |
| 9/24-9/26 |
|
Covers through Leture 7 |
|
|
|
| 10 | Sep 24 |
Recursive Data Types in OCaml |
slides continued from Lecture 9 |
Lect 10
|
WA4 was given 9/18
|
|
| Week 6 |
| 11 | Sep 29 |
|
|
|
|
MP5 |
| 11 | Sep 29 |
Types and Type Systems |
slides (PPT)
(full sized PDF)
|
Lect 11
|
|
|
| 12 | Oct 1 |
Type Derivation |
slides continued from Lecture 11 |
Lect 12
|
WA5: Polymorphic Type Derivation
|
WA4 |
| Week 7 |
| 13 | Oct 6 |
|
|
|
|
MP5 |
| 13 | Oct 6 |
Monomorphic and Polymorphic Type Derivation |
slides (PPT)
(full sized PDF)
|
Lect 13
|
MP6: A Unification-Based Type Inferencer |
|
| 14 | Oct 9 |
Polymorphic Type Derivation |
slides
(PPT)
(full sized PDF)
|
Lect 14
|
WA6: Incremental Unification Algorithm
|
WA5 |
| Week 8 |
| 15 | Oct 13 |
Type Inference |
slides continued from Lecture 14
|
Lect 15
|
MP7: Unification Algorithm |
|
| 16 | Oct 15 |
Day Off for MT2 |
|
|
|
|
| 10/15-10/17 |
|
Covers Lecture 8 - 14 |
|
|
|
| Week 9 |
| 17 | Oct 20 |
Unification |
slides(PPT)
(Full PDF)
|
Lect 17
|
WA7: Regular Expressions
|
MP6 |
| 18 | Oct 22 |
Regular Expressions, Right Regular Grammars, OCamllex |
slides continued
|
Lect 18
|
MP8: A Lexer for PicoML
|
WA6 |
| Week 10 |
| 19 | Oct 27 |
|
|
|
|
MP7 |
| 19 | Oct 27 |
Ocamllex cont, BNF Grammars, Parsing |
slides (PPT)
(PDF)(full sized PDF)
code (expr.ml)
(exprlex.mll)
(exprparse.mly)
|
Lect 19
|
MP8 was given 10/23 |
|
| 20 | Oct 29 |
Parse Trees, Ambiguous Grammars, Disambiguating Grammars Part 1, Ocamlyacc |
slides (cont)
|
Lect 20
|
WA8: Parse Trees
|
WA7 |
| Week 11 |
| 21 | Nov 3 |
Disambiguating Grammars |
slides (PPT)
(Full PDF)
|
Lect 21
|
MP9: A Parser for PicoML
|
MP8 |
| 22 | Nov 5 |
Ocamlyacc, LR Parsing
|
slides (cont)
|
Lect 22
|
WA9: Natural and Transition Semantics |
WA8 |
| Week 12 |
| 23 | Nov 10 |
Action and Goto Tables, Natural Semantics |
slides
(PPT)
(Full PDF)
|
Lect 23
|
MP10: An Evaluator for PicoML
|
|
| 24 | Nov 12 |
Day off for MT3 |
|
|
|
|
| 11/12-11/14 |
|
Covers Lecture 15-22 |
|
|
|
| Week 13 |
| 25 | Nov 17 |
Transition Semantics |
slides continued from Lecture 23
|
Lect 25
|
MP11: A Transition Semantics Evaluator for CPS
|
MP9 |
| 26 | Nov 19 |
Intro to Lambda Calculus |
slides (PPT)
(Full PDF)
|
Lect 26
|
WA10:Lambda Calculus
|
WA9 |
| Week of Fall Break |
| Nov 24 |
Thanksgiving |
|
|
|
|
| Nov 26 |
Thanksgiving |
|
|
|
|
| Week 14 |
| 27 | Dec 1 |
Lambda Calculus - Evaluation |
slides (PPT)
(Full PDF)
|
Lect 27
|
WA11: Hoare Logic
|
MP10 |
| 28 | Dec 3 |
Intro to Axiomatic Semantics |
slides:
(PPT)
(Full PDF)
extra slides:
(PPT)
(Full PDF)
|
Lect 28
|
|
WA10 |
| Week 15 |
| 29 | Dec 8 |
Hoare Logic (cont) |
|
Lect 29
|
|
MP11 |
| End of Classes |
| Dec 9 |
Last day of classes |
|
|
|
WA11, WA3XC (late, max 80%) |
| Finals Week |
|
Dec 14 |
FINAL (1:30pm-4:30pm) |
Cummulative, with more weight on the last third |
|
|
|