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