15-411

Schedule

Date Unit Topic Homework
Aug 28 Overview Compiler Design ; Inductive Definitions  
Aug 30 Backend Instruction Selection  
Sep 4   Register Allocation I Teaming
Sep 6   Register Allocation II (Proof of MCS-Chordality theorem)  
Sep 11   Liveness Analysis Lab 1 Tests
Sep 13 Frontend Lexical Analysis Written Homework 1
Sep 18   Context-Free Grammars Lab 1 Compiler
Sep 20   Shift-Reduce Parsing  
Sep 25 Middle Intermediate Representations Lab 2 Tests
Sep 27   Static Semantics Written Homework 2
Oct 2   Static Semantics II (see Sep 27 for notes) Lab 2 Compiler
Oct 4   Single Static Assignment Form  
Oct 9 Extensions Calling Conventions; Slides Lab 3 Tests
Oct 11   Dynamic Semantics; Slides Written Homework 3
Oct 16   Mutable Store; Notes; Slides Lab 3 Compiler
Oct 18   Structs; Notes; Slides  
Oct 23 Optimization Dataflow Analysis  
Oct 25   Register Coalescing Code review
Oct 30   Peephole Optimization & Common Subexpr. Elimination Lab 4 Tests
Nov 1   Memory Optimizations Written Homework 4
Nov 6   Loop Optimizations; Slides Lab 4 Compiler
Nov 8 Projects Function Optimization & Project Overview  
Nov 13   Garbage Collection & LLVM  
Nov 15   Guest Lecture by Yaron Minsky (Jane Street) Project proposal
Nov 20 No class Project day Lab 5 Compiler
Nov 22 No class Thanksgiving  
Nov 27   First-class functions; Slides Lab 5 Report
Nov 29   411 TAs: Lab 6 Projects  
Dec 4   Verified compilation & CompCert ; Xavier Leroy’s Slides  
Dec 6   Frank Pfenning: Concurrent C0 Lab 6
Dec 11 No class Finals Week Lab 6 Report
Dec 13 No class Finals Week  


Date Recitation
Aug 31 Intro and L1 Tips
Sep 7 Backend
Sep 14 Lexing
Sep 21 Parsing
Sep 28 Lab 2, From AST to Assembly
Oct 5 Calling Conventions
Oct 12 Miscellaneous
Oct 19 No Recitation – Mid-Semester Break
Oct 26 No Recitation – Presidential Inauguration
Nov 2 Memory
Nov 2 Optimization