15-411

Schedule

Date Unit Topic Deadlines
Aug 27 Overview Overview  
Aug 29 Backend Instruction Selection (notes)  
Sep 3   Register Allocation Teaming
Sep 5   Liveness Analysis  
Sep 10 (No class)   Lab 1 Tests
Sep 12 Frontend Lexical Analysis Written Homework 1
Sep 17   Parsing Lab 1 Compiler
Sep 19   Parsing II  
Sep 24 Middle Static Single Assignment Lab 2 Tests
Sep 26   The Middle-End (notes: Static Semantics, IR) Written Homework 2
Oct 1 (No class)   Lab 2 Compiler
Oct 3   Calling Conventions (notes)  
Oct 8   Typechecking Lab 3 Tests
Oct 10 Extensions Dynamic Semantics (notes) Written Homework 3 (10/12)
Oct 15   Mutable Store (notes) Lab 3 Compiler
Oct 17   Structs (notes)  
Oct 22 Optimization Dataflow Analysis Code review
Oct 24   Dataflow Analysis (Lattices & Solvers) Lab 4 Tests (10/25)
Oct 29   Dataflow Optimizations: PRE (krs92, bgs98) Lab 4 Checkpoint
Oct 31   Loops Written Homework 4 (11/3)
Nov 5   Locality 1 Lab 4 Compiler
Nov 7   Locality 2 (paper)  
Nov 12   Alias Analysis (notes)  
Nov 14   SSA Revisited Project proposal (11/17)
Nov 19   Guest Lecture by Yaron Minsky (Jane Street) Lab 5 Compiler
Nov 21   Scheduling  
Nov 26 (No class) Project day Lab 5 Report
Nov 28 (No class) Thanksgiving  
Dec 3   Guest Lecture by Frank Pfenning: Concurrent C0  
Dec 5   Compiling Multi-threaded Programs  
Dec 10 (No class) Finals Week Lab 6
Dec 12 (No class) Finals Week Lab 6 Report


Date Recitation
Aug 30 Intro and L1 Tips
Sep 6 Backend
Sep 13 Lexing
Sep 20 Parsing
Sep 27 Static Semantics and SSA
Oct 4 Calling Conventions
Oct 11 Miscellaneous
Oct 18 No Recitation – Mid-Semester Break
Oct 25 No Recitation – No Classes; Day for Community Engagement
Nov 1 Memory
Nov 8 Local Optimizations