15-411

Schedule

Date Topic Release Deadlines
Jan 16 Compiler Design ; Instruction Selection    
Jan 18 Instruction Selection ; Inductive Definitions   Teaming Questionnaire
Jan 19 Recitation: Intro and Intermediate Representations Lab 1  
Jan 23 Register Allocation Written 1  
Jan 25 Register Allocation (Proof of MCS-Chordality theorem)   Team Registration
Jan 26 Recitation: Register Allocation   Lab 1 Tests
Jan 30 Liveness Analysis & Elaboration   Written 1
Feb 1 Intermediate Representations & Static Semantics    
Feb 2 Recitation: Static Semantics Lab 2 Lab 1 Compiler
Feb 6 Static Semantics & Lexing Written 2  
Feb 8 Context-Free Grammars    
Feb 9 Recitation: Lexing & Parsing   Lab 2 Tests
Feb 13 Shift-Reduce Parsing & Lexical Analysis   Written 2
Feb 15 Calling Conventions    
Feb 16 Recitation: Calling Conventions Lab 3 Lab 2 Compiler
Feb 20 Single Static Assignment Form Written 3  
Feb 22 Dynamic Semantics (slides)    
Feb 23 Recitation: SSA   Lab 3 Tests
Feb 27 Mutable Store (slides)   Written 3
Feb 29 Structs (slides)    
Mar 1 Recitation: Dynamic Semantics   Lab 3 Compiler
Mar 5 No lecture    
Mar 7 No lecture    
Mar 8 No recitation Lab 4  
Mar 12 Dataflow Analysis Written 4 Code Review
Mar 14 Optimizing Register Allocation    
Mar 15 Recitation: Memory   Lab 4 Tests
Mar 19 Peephole Optimization & Common Subexpression Elimination   Written 4
Mar 21 Memory Optimizations    
Mar 22 Recitation: Optimizations I    
Mar 26 Loop Optimizations Lab 5 Lab 4 Compiler
Mar 28 Function Optimization (slides1, slides2)    
Mar 29 Recitation: Optimizations II    
Apr 2 Project Overview & LLVM   Lab 6 Proposal
Apr 4 Garbage Collection & First-Class Functions (Slides)    
Apr 5 No recitation    
Apr 9 Guest Lecture by Ron Minsky (Jane Street)   Lab 5
Apr 11 No Lecture (Carnival)    
Apr 12 No Recitation    
Apr 16 Resource Aware ML Lab 6  
Apr 18 Verified Compilation & CompCert    
Apr 19 No Recitation    
Apr 23 Guest Lecture by Sam Westrick (CMU)    
Apr 25 No Lecture (Project Day)    
Apr 26 No Recitation    
May 1     Lab 6 due


Date Recitation Solution
Jan 19 Intro and Intermediate Representations Sol
Jan 26 Register Allocation Sol
Feb 2 Static Semantics Sol
Feb 9 Lexing & Parsing Sol
Feb 16 Calling Conventions Sol
Feb 23 SSA Sol
Mar 1 Dynamic Semantics Sol
Mar 8 No recitation  
Mar 15 Memory Sol
Mar 22 Optimizations I Sol
Mar 29 Optimizations II  
Apr 5 No recitation  
Apr 12 No recitation  
Apr 19 No recitation  
Apr 26 No recitation