1 (1/15) |
Course overview (slides, notes) |
|
1 (1/17) |
MyPL intro (slides, notes) |
HW-0 (set up) |
2 (1/20) |
No Class: MLK Jr Holiday |
|
2 (1/22) |
Compilation and interpretation (slides, notes) |
|
2 (1/24) |
Lexical Analysis (slides, notes) |
HW-1 (lexer) |
3 (1/27) |
Lexical Analysis (cont) (slides, notes) |
|
3 (1/29) |
Formal Grammars (slides, notes) |
|
3 (1/31) |
Derivations and LL(k) Grammars (slides, notes) |
|
4 (2/3) |
LL(k) and Recursive Descent (slides, notes) |
HW-2 (parser) |
4 (2/5) |
Recursive Descent Parsing (slides, notes) |
|
4 (2/7) |
Recursive Descent Examples (slides, notes) |
|
5 (2/10) |
AST Overview (slides, notes) |
|
5 (2/12) |
AST Traversal (slides, notes) |
HW-3 (ast) |
5 (2/14) |
AST Traversal (slides, notes, AST classes) |
|
6 (2/17) |
No Class: President's Day Holiday |
|
6 (2/19) |
EXAM 1 |
|
6 (2/21) |
Associativity and Precedence (slides, notes) |
|
7 (2/24) |
Semantic Analysis Terminology (slides, notes) |
|
7 (2/26) |
Semantic Analysis Symbol Table (slides, notes) |
HW-4 (typing) |
7 (2/28) |
Semantic Analysis Basics (slides, notes) |
|
8 (3/3) |
Semantic Analysis Wrap Up (slides, notes, type rules) |
|
8 (3/5) |
Wrap up Semantic Checker (slides, notes) |
|
8 (3/7) |
Intro to VM and Instruction Set Basics (slides, notes) |
Proj P1 due |
(3/10-3/14) |
No Class: Spring Break |
|
9 (3/17) |
Instruction Set Cont (slides, notes) |
|
9 (3/19) |
VM Architecture (slides, notes) |
HW-5 (vm) |
9 (3/21) |
VM Wrap Up (slides, notes) |
|
10 (3/24) |
IR Code Generation (slides, notes) |
|
10 (3/26) |
IR Code Generation (slides, notes) |
|
10 (3/28) |
IR Code Generation (slides, notes) |
HW-6 (gen) |
11 (3/31) |
PL Paradigms, Turing Machines (slides, notes) |
Proj P2 due |
11 (4/2) |
Lambda Calculus (slides, notes) |
|
11 (4/4) |
Lambda Calculus (slides, notes) |
|
12 (4/7) |
EXAM 2 |
|
12 (4/9) |
FP: OCaml Basics (slides, notes) |
|
12 (4/11) |
FP: OCaml Types, Function Basics (slides, notes) |
|
13 (4/14) |
FP: More Functions, Lists (slides, notes) |
HW-7 (ocaml) |
13 (4/16) |
FP: Tuples, Pattern Matching (slides, notes) |
|
13 (4/18) |
No Class: Good Friday |
|
14 (4/21) |
No Class: Easter Holiday |
|
14 (4/23) |
Pattern Matching (slides, notes) |
|
14 (4/25) |
Algebraic Types (slides notes) |
HW-8 (ocaml+) |
15 (4/28) |
OCaml Wrap Up (slides, notes) |
|
15 (4/30) |
ASP/Clingo Crash Course (slides, notes) |
|
15 (5/2) |
ASP and Wrap Up (slides, notes) |
|
16 |
FINAL EXAM (Sect 1: 1-3 Tues, May 6; Sect 2: 1-3 Thur, May 8) |
|