| Wk | Date | Topic | Lectures | Tutes | Assignments |
|---|---|---|---|---|---|
| 1 | Mon 25 Jul | Introduction & Revision | Course Overview |   | |
| Tue 26 Jul | Language Paradigms, C, Basic Haskell | ||||
| Wed 27 Jul | Monads | ||||
| 2 | Mon 1 Aug | Advanced Haskell, Simple Lambda Calculus |
More Monads, Lazy Evaluation | ||
| Tue 2 Aug | The Countdown Problem | ||||
| Wed 3 Aug | Basic Lambda Calculus | ||||
| 3 | Mon 8 Aug | Lambda Calculus, Hand built parsers |
Typed Lambda Calculus | Lab/Tute 1 | |
| Tue 9 Aug | Introduction to Parsing and Compilers | ||||
| Wed 10 Aug | Top-Down Parsing (Recursive Descent Parsers) | ||||
| 4 | Mon 15 Aug | Fixpoint Theory | Function Unfolding and Fixpoints | Lab/Tute 2 | |
| Tue 16 Aug | Kleene's Recursion Theorems | ||||
| Wed 17 Aug | Termination | ||||
| 5 | Mon 22 Aug | Syntax, Parsing & Translation | Lexical Analysis | Lab/Tute 3 | |
| Tue 23 Aug | Grammars | ||||
| Wed 24 Aug | Recursive Descent Parsers | ||||
| 6 | Mon 29 Aug | Bottom-up Parsing | Flex and Bison |   | Assignment 1 Due |
| Tue 30 Aug | Flex and Bison and C | ||||
| Wed 31 Aug | Theory of Parsing | ||||
| 7 | Mon 5 Sep | Parsing and Grammars | State Machines | Lab/Tute 4 | |
| Tue 6 Sep | Determinism | ||||
| Wed 7 Sep | LALR(1) | ||||
| 8 | Mon 26 Sep | Semantics | Introduction to Semantics | Lab/Tute 5 | |
| Tue 27 Sep | Operational Semantics | ||||
| Wed 28 Sep | Proofs in Operational Semantics | ||||
| 9 | Mon 3 Oct | Public Holiday |   | Assignment 1 Due | |
| Tue 4 Oct | Denotional Semantics | ||||
| Wed 5 Oct | Proofs in Denotional Semantics | ||||
| 10 | Mon 10 Oct | Review | Public Holiday | ||
| Tue 11 Oct | Review | ||||
| Wed 12 Oct | Review | ||||
| 11 | Mon 17 Oct | TBD | TBD | ||
| Tue 18 Oct | |||||
| Wed 19 Oct | |||||
| 12 | Mon 24 Oct | ||||
| Tue 25 Oct | |||||
| Wed 26 Oct | |||||
| 13 | Mon 31 Oct | Exam review | Exam review lectures | ||
| Tue 1 Nov | |||||
| Wed 2 Nov | |||||