You can jump to the upcoming week or to the (tentative) future weeks.
There’s also a Google calendar you can check and/or subscribe to with all the lectures, office hours, and due dates for the assignments.
Past weeks
| Week | Monday | Wednesday | Assignments | Reading |
|---|---|---|---|---|
| 1 | Aug 24 Lecture 0 Introduction |
Aug 26 Lecture 1 Overview |
Assignment 0 Released | Chapter 1 |
| 2 | Aug 31 Lecture 2 Lexing - Regular Expressions flex |
Sep 02 Lecture 3 Lexing - Automata |
Assignment 0 Due Assignment 1 Released |
Chapter 2 |
| 3 | Sep 07 Labour Day, no class |
Sep 09 Lecture 4 Parsing - Context Free Grammars |
Assignment 1 Due | Chapter 2 Chapter 3.1 Chapter 3.2 Chapter 3.4 |
| 4 | Sep 14 Lecture 5 Parsing - yacc, disambiguation |
Sep 16 Lecture 6 Parsing - Disambiguation, LL |
Assignment 2 Released | Chapter 3.3 Chapter 3.5 |
| 5 | Sep 21 Lecture 7 Parsing - LR(0) / LR(1) / LALR(1) |
Sep 23 Lecture 8 Parsing - Conflicts, Abstract Syntax Trees (ASTs) |
Assignment 2 Due | Chapter 3.5 Chapter 4 |
| 6 | Sep 28 Lecture 9 Semantic Analysis - Symbols |
Sep 30 Lecture 10 Semantic Analysis - Type Checking |
Assignment 3.1+3.2 Released | Chapter 5.1 Chapter 5.3 |
| 7 | Oct 05 Lecture 11 Review for the Midterm |
Oct 07 Instructor travelling, no class, no class |
Assignment 3.1 Due | Chapter 5.3 |
| 8 | Oct 12 Lecture 12 Semantic Analysis - Type Checking |
Oct 14 Midterm |
Assignment 3.2 Due | Chapter 4 Chapter 7.1 |
| 9 | Oct 19 Lecture 13 AST Transformations, Intermediate Representation (IR) |
Oct 21 Lecture 14 IR - Stack machines |
Assignment 4.1+4.2 Released | Chapter 7 |
| 10 | Oct 26 Lecture 15 IR - Translation |
Oct 28 Lecture 16 Midterm solution |
Assignment 4.1 Due | Chapter 7 |
| 11 | Nov 02 Lecture 17 Liveness Analysis |
Nov 04 Lecture 18 Register Allocation |
Assignment 4.2 Due | Chapter 10 Chapter 11 |
| 12 | Nov 09 Lecture 19 Analysis and Optimization - Dataflow analysis |
Nov 11 Lecture 20 Analysis and Optimization - Dataflow analysis |
Assignment 5.1+5.2 Released | Chapter 17 Chapter 18 |
| 13 | Nov 16 Lecture 21 Code Generation - MIPS Assembly, Compiler Instrinsics |
Nov 18 Lecture 22 Code Generation - Stack frames |
Assignment 5.1 Due | Chapter 6 Chapter 9 |
| 14 | Nov 23 Lecture 23 Undefined Behavior and Compiler Testing |
Nov 25 Thanksgiving, no class |
Appendix 1 | |
| 15 | Nov 30 Lecture 24 Review for the Final Exam |
Dec 02 Lecture 25 Conclusion and Research Topics |
Assignment 5.2 Due |
Upcoming week
| Week | Monday | Wednesday | Assignments | Reading |
|---|---|---|---|---|
| 1 | Aug 24 Lecture 0 Introduction |
Aug 26 Lecture 1 Overview |
Assignment 0 Released | Chapter 1 |
| 2 | Aug 31 Lecture 2 Lexing - Regular Expressions flex |
Sep 02 Lecture 3 Lexing - Automata |
Assignment 0 Due Assignment 1 Released |
Chapter 2 |
| 3 | Sep 07 Labour Day, no class |
Sep 09 Lecture 4 Parsing - Context Free Grammars |
Assignment 1 Due | Chapter 2 Chapter 3.1 Chapter 3.2 Chapter 3.4 |
| 4 | Sep 14 Lecture 5 Parsing - yacc, disambiguation |
Sep 16 Lecture 6 Parsing - Disambiguation, LL |
Assignment 2 Released | Chapter 3.3 Chapter 3.5 |
| 5 | Sep 21 Lecture 7 Parsing - LR(0) / LR(1) / LALR(1) |
Sep 23 Lecture 8 Parsing - Conflicts, Abstract Syntax Trees (ASTs) |
Assignment 2 Due | Chapter 3.5 Chapter 4 |
| 6 | Sep 28 Lecture 9 Semantic Analysis - Symbols |
Sep 30 Lecture 10 Semantic Analysis - Type Checking |
Assignment 3.1+3.2 Released | Chapter 5.1 Chapter 5.3 |
| 7 | Oct 05 Lecture 11 Review for the Midterm |
Oct 07 Instructor travelling, no class, no class |
Assignment 3.1 Due | Chapter 5.3 |
| 8 | Oct 12 Lecture 12 Semantic Analysis - Type Checking |
Oct 14 Midterm |
Assignment 3.2 Due | Chapter 4 Chapter 7.1 |
| 9 | Oct 19 Lecture 13 AST Transformations, Intermediate Representation (IR) |
Oct 21 Lecture 14 IR - Stack machines |
Assignment 4.1+4.2 Released | Chapter 7 |
| 10 | Oct 26 Lecture 15 IR - Translation |
Oct 28 Lecture 16 Midterm solution |
Assignment 4.1 Due | Chapter 7 |
| 11 | Nov 02 Lecture 17 Liveness Analysis |
Nov 04 Lecture 18 Register Allocation |
Assignment 4.2 Due | Chapter 10 Chapter 11 |
| 12 | Nov 09 Lecture 19 Analysis and Optimization - Dataflow analysis |
Nov 11 Lecture 20 Analysis and Optimization - Dataflow analysis |
Assignment 5.1+5.2 Released | Chapter 17 Chapter 18 |
| 13 | Nov 16 Lecture 21 Code Generation - MIPS Assembly, Compiler Instrinsics |
Nov 18 Lecture 22 Code Generation - Stack frames |
Assignment 5.1 Due | Chapter 6 Chapter 9 |
| 14 | Nov 23 Lecture 23 Undefined Behavior and Compiler Testing |
Nov 25 Thanksgiving, no class |
Appendix 1 | |
| 15 | Nov 30 Lecture 24 Review for the Final Exam |
Dec 02 Lecture 25 Conclusion and Research Topics |
Assignment 5.2 Due |
Future weeks
Tentative
| Week | Monday | Wednesday | Assignments | Reading |
|---|---|---|---|---|
| 1 | Aug 24 Lecture 0 Introduction |
Aug 26 Lecture 1 Overview |
Assignment 0 Released | Chapter 1 |
| 2 | Aug 31 Lecture 2 Lexing - Regular Expressions flex |
Sep 02 Lecture 3 Lexing - Automata |
Assignment 0 Due Assignment 1 Released |
Chapter 2 |
| 3 | Sep 07 Labour Day, no class |
Sep 09 Lecture 4 Parsing - Context Free Grammars |
Assignment 1 Due | Chapter 2 Chapter 3.1 Chapter 3.2 Chapter 3.4 |
| 4 | Sep 14 Lecture 5 Parsing - yacc, disambiguation |
Sep 16 Lecture 6 Parsing - Disambiguation, LL |
Assignment 2 Released | Chapter 3.3 Chapter 3.5 |
| 5 | Sep 21 Lecture 7 Parsing - LR(0) / LR(1) / LALR(1) |
Sep 23 Lecture 8 Parsing - Conflicts, Abstract Syntax Trees (ASTs) |
Assignment 2 Due | Chapter 3.5 Chapter 4 |
| 6 | Sep 28 Lecture 9 Semantic Analysis - Symbols |
Sep 30 Lecture 10 Semantic Analysis - Type Checking |
Assignment 3.1+3.2 Released | Chapter 5.1 Chapter 5.3 |
| 7 | Oct 05 Lecture 11 Review for the Midterm |
Oct 07 Instructor travelling, no class, no class |
Assignment 3.1 Due | Chapter 5.3 |
| 8 | Oct 12 Lecture 12 Semantic Analysis - Type Checking |
Oct 14 Midterm |
Assignment 3.2 Due | Chapter 4 Chapter 7.1 |
| 9 | Oct 19 Lecture 13 AST Transformations, Intermediate Representation (IR) |
Oct 21 Lecture 14 IR - Stack machines |
Assignment 4.1+4.2 Released | Chapter 7 |
| 10 | Oct 26 Lecture 15 IR - Translation |
Oct 28 Lecture 16 Midterm solution |
Assignment 4.1 Due | Chapter 7 |
| 11 | Nov 02 Lecture 17 Liveness Analysis |
Nov 04 Lecture 18 Register Allocation |
Assignment 4.2 Due | Chapter 10 Chapter 11 |
| 12 | Nov 09 Lecture 19 Analysis and Optimization - Dataflow analysis |
Nov 11 Lecture 20 Analysis and Optimization - Dataflow analysis |
Assignment 5.1+5.2 Released | Chapter 17 Chapter 18 |
| 13 | Nov 16 Lecture 21 Code Generation - MIPS Assembly, Compiler Instrinsics |
Nov 18 Lecture 22 Code Generation - Stack frames |
Assignment 5.1 Due | Chapter 6 Chapter 9 |
| 14 | Nov 23 Lecture 23 Undefined Behavior and Compiler Testing |
Nov 25 Thanksgiving, no class |
Appendix 1 | |
| 15 | Nov 30 Lecture 24 Review for the Final Exam |
Dec 02 Lecture 25 Conclusion and Research Topics |
Assignment 5.2 Due |