Schedule

Week Session 1 Session 2 Session 3 Assessment
1 Introduction FP: Expression, Function, Conditional, Recursion Cohort Problem 1,
Homework 1
Homework 1 no submission required. Please refer to the markdown file for instructions.
2 FP: List, Pattern Matching FP: Algebraic Data Type Cohort Problem 2,
Homework 2
3 FP: Generics, GADT FP: Type Classes, Functor Cohort Problem 3,
Homework 2 (Cont'd)
Homework 2 5%
4 FP: Applicative FP: Monad Cohort Problem 4,
Homework 3
5 Syntax Analysis: Lexing, Parsing Top-down Parsing Cohort Problem 5,
Homework 3 (Cont'd)
Homework 3 5%
6 Parser-Combinator IR: Pseudo-Assembly Cohort Problem 5 Cont'd,
Homework 4,
Project Briefing
Bottom-up Parsing for self-study. it won't show up in exams.
7 Homework 4 5%
8 1. Semantic Analysis
2. Dynamic Semantics
Mid-term exam (during class hours) Cohort Problem 7 Mid-term 10%
9 Monday is a public holiday Static Semantics for SIMP Static Semantics for Lambda Calculus Project Lab 1 10%
10 Cohort Problem 8, Homework 5 Name Analysis, SSA Lattice, Sign Analysis
11 Guest Lecture Code Generation: Stack Machine Cohort Problem 9: Name Analysis Project Lab 2 10%, Homework 5 5%
12 Liveness Analysis Code Generation: Register Allocation Cohort Problem 10: Sign Analysis
13 Information Flow Analysis Memory Management Project Lab 3 15%
14 Final Exam (16 Dec Wed 1:00PM-3:00PM) 30%