Schedule subject to change as course progresses. |
Lecture slides for not yet given lectures are preliminary, and may change. |
Day |
Date |
Topic |
Slides and Code |
Video Link |
1 | Aug 24 |
Course Introduction, Introduction to Ocaml, Environments |
slides (PPT)
(full sized PDF)
(6 up PDF)
code (OCaml CODE)
(SHELL)
|
Introduction
|
2 | Aug 26 |
Ocaml Boolean, Tuples, Functions, Closures |
slides continued from Lecture 2
|
Environments
|
|
3 | Aug 31 |
Compound Data Types, Pattern Matching, Closures, and
Higher-order Functions |
slides
(PPT)
(full sized PDF)
(6 up PDF)
|
Compound Data Types and Pattern Matching
|
4 | Sep 2 |
Evaluating Expressions and Applications |
slides continued from Lecture 3
|
Pattern Matching, Funtions, Closures, Currying, Evalution
|
|
5 | Sep 7 |
Evaluation, Lists |
slides (PPT)
(full sized PDF)
(6 up PDF)
|
Evaluation in OCaml, Ocaml Lists
|
6 | Sep 9 |
List Pattern Matching, Recursion over Lists, Structural
Recursion, Forms of Recursion and Higher-Order Recursive Operators |
slides continued from Lecture 5
|
List Pattern Matching, Recursion over Lists, Structural
Recursion, fold_right
|
|
7 | Sep 14 |
Patterns of Recursion, Tail Recursion, Higher Order Functions |
slides (PPT)
(full sized PDF),
(6 up PDF)
|
Patterns of Recursion, Tail Recursion, Higher Order Functions
|
8 | Sep 16 |
Tail Recursion, fold_left, Continuations, Continuation Passing
Style |
slides continued from Lecture 7
|
Tail Recursion, fold_left, Continuations
|
|
9 | Sep 21 |
Continuation Passing Style, Continuation Passing Style (CPS)
Transformation
|
slides (PPT)
(full sized PDF),
(6 up PDF)
code (OCAML TEXT)
|
Continuation Passing Style (CSP) and CPS Transformation
|
10 | Sep 23 |
Recursive Data Types in OCaml |
slides continued from Lecture 9 |
OCaml Algebraic Datatypes
|
|
11 | Sep 28 |
User-defined Recursive Data Types |
slides (PPT)
(full sized PDF)
(6 up PDF)
|
User-defined Recursive Data Types
|
12 | Sep 30 |
MIDTERM 1 |
Covers through Lecture 10 |
|
|
13 | Oct 5 |
Types, Type Systems and Type Inference |
slides (PPT)
(full sized PDF)
(6 up PDF)
|
Types and Type Systems
|
14 | Oct 7 |
Monomorhic and Polymorphic Type Derivation |
slides continued from Lecture 13
|
Monomorphic Type System and Type Deriviations
|
|
15 | Oct 12 |
Type Inference |
slides
(PPT)
(full sized PDF)
(6 up PDF)
|
Polymorphic Type System and Type Deriviations
|
16 | Oct 14 |
Unification-based Type Inference |
slides continued from Lecture 15
|
Type Inference - Example
|
|
17 | Oct 19 |
Type Inference, Unification Problems |
Slides continued from Oct 12 and Oct 14
|
Type Inference - Algorithm
|
18 | Oct 21 |
Unification Algorithm |
slides continued from Lectures 15, 16 and 17
|
Unification Algorithm
|
|
19 | Oct 26 |
Regular Expressions, Right Regular Grammars
|
slides (PPT)
(Full PDF)
(Six
Up PDF)
|
Regular Expressions and Right Regular Grammars
|
20 | Oct 28 |
Ocamlex, Intro to BNF grammars |
slides continued from Lecture 19
code example.mll
|
Ocamllex, Intro to BNF Grammars
|
|
21 | Nov 2 |
Parse Trees, Ambiguous Grammars |
slides (PPT)
(Full PDF)
(Six Up PDF)
|
Parse Trees, Ambiguous Grammars
|
22 | Nov 4 |
MIDTERM 2 |
Covers Lecture 11 through parsing in Lecture 20 |
|
|
23 | Nov 9 |
Disambiguating Grammars, LR Parsing, Action and Goto Tables |
slides continued from Lecture 21
|
Amgiuous grammars and disambiguating them
|
24 | Nov 11 |
Ocamlyacc |
slides continued from Lecture 21
|
Using Ocamlyacc to create a parser
|
|
25 | Nov 16 |
Dynamic Semantics - Natural Semantics |
slides (PPT)
(Full PDF)
(Six Up PDF)
|
Natural Semantics
|
26 | Nov 18 |
Dynamic Semantics - Transition Semantics |
slides continued from Lecture 25
|
Transition Semantics
|
|
| Nov 23 |
Thanksgiving |
|
| Nov 25 |
Thanksgiving |
|
|
|
27 | Nov 30 |
Introductionto the Lambda Calculus |
slides (PPT)
(Full PDF)
(Six Up PDF)
|
Introduction to the Lambda Calculations
Example of how to disambiguate function expressions and
application
|
28 | Dec 2 |
Lambda Calculus - Beta Reduction; Intro to Axiomatic Semantics |
slides (PPT)
(Full PDF)
(Six Up PDF)
|
Beta reduction, intro to Hoare Logic
|
|
29 | Dec 9 |
Intro to Axiomatic Semantics(cont) |
slides continued from Lecture 28
|
Hoare Logic Rules
|
|
|
|
| Dec 14 |
FINAL (8:00am-11:00am (CDT) for online section, 1:30pm - 4:30pm for in-class section) |
Cummulative, with more weight on the last third |
|