Schedule
Date | Lecture Notes | Extra | Due |
|
Mon | 21.04. | Free: Holiday | | |
Thu | 24.04. | Overview | Ch 1, | |
|
Mon | 28.04. | Instruction Selection | Ch 9 | |
Thu | 01.05. | Register Allocation | Ch 11 | |
|
Mon | 05.05. | Liveness Analysis | Ch 10 | |
Thu | 08.05. | Dataflow Analysis | Ch 10.1,2,17.1‑4 | |
|
Mon | 12.05. | Lexical Analysis | Ch 2 | Test 1 |
Thu | 15.05. | Context-Free Grammars | Ch 3.1-2 | |
|
Mon | 19.05. | Town-Down LL Parsing | Ch 3.3 | Lab 1 |
Thu | 22.05. | Bottom-Up LR Parsing | Ch 3.4 | |
|
Mon | 26.05. | Intermediate Representation | Ch 7-8 | Test 2 |
Thu | 29.05. | Static Single Assignment | Ch 19 | |
|
Mon | 02.06. | Calling Conventions | Ch 11.3 | |
Thu | 05.06. | Semantic Analysis & Specs | | Lab 2 |
|
Mon | 09.06. | Semantic Specifications | | Test 3 |
Thu | 12.06. | Basic Optimizations | Ch 17.2-3 | |
|
Mon | 16.06. | Low Level Virtual Machine |
LLVM
| Lab 3 |
Thu | 19.06. | Loop-invariant Code Motion | Ch 18.1-2 | |
|
Mon | 23.06. | Induction Variables | Ch 18.3 | Test 4 |
Thu | 26.06. | Array Bounds Checking | | |
|
Mon | 30.06. | Garbage Collection | Ch 13.1-3 | Lab 4 |
Thu | 03.07. | Advanced Garbage Collection | Ch 13.4-7 | |
|
Mon | 07.07. | Data Dependencies | | |
Thu | 10.07. | Loop Transformation | | |
|
Mon | 14.07. | Cache & Vectorization | | |
Thu | 17.07. | Abstract Dataflow Analysis | | |
|
Mon | 21.07. | Monotone Frameworks | | |
Thu | 24.07. | Abstract Interpretation | | |
|
Mon | 28.07. | More Abstract Interpretation | | |
Thu | 31.07. | Alias Analysis | | |
|
TBA | TBA | | |
The lecture schedule is tentative!
The chapter numbers refer to Andrew Appel's textbook as additional reading material beyond the select lecture notes.
Lab Schedule
| Points | Assignment | | Due |
Test 1 | 20 | Register Allocation | | Mon | 12.05. |
Lab 1 | 80 | Register Allocation | | Mon | 19.05. |
Test 2 | 20 | Loops & Conditionals | | Mon | 26.05. |
Lab 2 | 80 | Loops & Conditionals | | Thu | 05.06. |
Test 3 | 20 | Functions | | Mon | 09.06. |
Lab 3 | 80 | Functions | | Mon | 16.06. |
Test 4 | 20 | Structs & Arrays | | Mon | 23.06. |
Lab 4 | 80 | Structs & Arrays | | Mon | 30.06. |
Sum | 400 | points listed |
The Programming Lab Schedule is tentative!