15-411

Schedule

Date Topic Release Deadlines
Jan 17 Compiler Design ; Inductive Definitions    
Jan 19 Instruction Selection    
Jan 20 Recitation: Intro and L1 Tips Lab 1  
Jan 24 Register Allocation I Written 1 Team Registration
Jan 26 Register Allocation II (Proof of MCS-Chordality theorem)    
Jan 27 Recitation: Register Allocation    
Jan 31 Liveness Analysis   Written 1
Feb 2 Intermediate Representations    
Feb 3 Recitation: Lab 2, From AST to Assembly Lab 2 Lab 1
Feb 7 Static Semantics Written 2  
Feb 9 Lexical Analysis    
Feb 10 Recitation: Static Semantics    
Feb 14 Context-Free Grammars   Written 2
Feb 16 Shift-Reduce Parsing    
Feb 17 Recitation: Lexing and Parsing Lab 3 Lab 2
Feb 21 Calling Conventions Written 3 Lab 2 Test Feedback
Feb 23 Single Static Assignment Form    
Feb 24 Recitation: Calling Conventions & SSA    
Feb 28 Dynamic Semantics (Slides)    
Mar 2 Mutable Store (Slides)    
Mar 3 Recitation: Dynamic Semantics   Lab 3
Mar 7 No lecture    
Mar 9 No lecture    
Mar 10 No recitation Lab 4  
Mar 14 Structs (Slides) Written 4 Code Review
Mar 16 Dataflow Analysis    
Mar 17 Recitation: Memory    
Mar 21 Optimizing Register Allocation   Written 4
Mar 23 Peephole Optimization & Common Subexpression Elimination    
Mar 24 Recitation: Optimization I Lab 5  
Mar 28 Memory Optimizations   Lab 4
Mar 30 Loop Optimizations (Slides)   Lab 4 Test Feedback
Mar 31 Recitation: Optimization II    
Apr 4 Function Optimization & Project Overview   Lab 6 Project Proposal
Apr 6 LLVM    
Apr 7 No Recitation Lab 6  
Apr 11 Garbage Collection & First-Class Functions (Slides)   Lab 5
Apr 13 No Lecture (Carnival)    
Apr 14 No Recitation    
Apr 18 Guest Lecture: Yaron Misnky    
Apr 20 Verified Compilation & CompCert    
Apr 21 No Recitation    
Apr 25 Resource Aware ML    
Apr 27 No Lecture (Project Day)    
Apr 28 No Recitation    
May 2     Lab 6 (compiler)
May 4     Lab 6 (report)


Date Recitation Solution
Jan 20 Intro and L1 Tips Sol
Jan 27 Register Allocation Sol
Feb 3 Lab 2, From AST to Assembly Sol
Feb 10 Static Semantics Sol
Feb 17 Lexing and Parsing Sol
Feb 24 Calling Conventions & SSA Sol
Mar 3 Dynamic Semantics Sol
Mar 10 No recitation  
Mar 17 Memory Sol
Mar 24 Optimization I Sol
Mar 31 Optimization II  
Apr 7 TBA  
Apr 14 No recitation  
Apr 21 TBA  
Apr 28 TBA