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 
HigherOrder 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, Higherorder Functions

MP2 
6  Sep 8 
Forms of Recursion and HigherOrder 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: HigherOrder Functions and ContinuationPassing 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 UnificationBased 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 


