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 |
Static Semantics for SIMP |
Static Semantics for Lambda Calculus |
Cohort Problem 8, Homework 5 |
Project Lab 1 10% |
10 |
Name Analysis, SSA |
Name Analysis, SSA |
Cohort Problem 9: Name Analysis |
|
11 |
Lattice, Sign Analysis |
Liveness Analysis |
Code Generation: Stack Machine |
Project Lab 2 10%, Homework 5 5% |
12 |
Code Generation: Register Allocation |
Information Flow Analysis |
Cohort Problem 10: Sign Analysis |
|
13 |
Memory Management |
Memory Management |
Guest Lecture |
Project Lab 3 15% |
14 |
|
|
|
Final Exam (19 Dec Thu 1:00PM-3:00PM) 30% |