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 Guest Lecture Mid-term exam (during class hours) 1. Semantic Analysis
2. Dynamic Semantics
Mid-term 10%
9 Monday is a public holiday Static Semantics for SIMP Cohort Problem 7 Project Lab 1 10%
10 Static Semantics for Lambda Calculus Name Analysis, SSA Cohort Problem 8, Homework 5
11 Name Analysis, SSA Code Generation: Stack Machine Cohort Problem 9: Name Analysis Project Lab 2 10%, Homework 5 5%
12 Lattice, Sign Analysis
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%