15-411

Schedule

Integrated Schedule

Week Date Topic Release Deadline
1Jan 13Lecture: Overview, NotesLab 0
Jan 15Lecture: Register AllocationLab 1Lab 0 Questionnaire
Jan 16Recitation: Lab 1 Intro / Course Overview
2Jan 20Lecture: Register Allocation / Intro to SSAWritten 1Lab 0 Team Formation
Jan 22Lecture: Instruction Selection
Jan 23Recitation: Instruction Selection
Jan 25 Lab 1 Tests
Lab 1 Checkpoint
3Jan 27Lecture: SSALab 2
Jan 29Lecture: Middle End Lab 1 Compiler
Written 1
Jan 30Recitation: SSA
4Feb 3Lecture: IR-tree, Liveness, TypecheckingWritten 2
Feb 5Lecture: Lexing and Parsing Lab 2 Tests
Feb 6Recitation: Statics Semantics
5Feb 10Lecture: Shift-reduce Parsing
Feb 12Lecture: Typechecking Written 2
Feb 13Recitation: Lexing and ParsingLab 3
Feb 15 Lab 2 Compiler
6Feb 17Lecture: Calling ConventionsWritten 3
Feb 19Lecture: Dataflow Analysis
Feb 20Recitation: Calling Conventions
Feb 22 Lab 3 Tests
7Feb 24Lecture: Dataflow Analysis II
Feb 26Lecture: LLVM Written 3
Feb 27Recitation: LLVMLab LLVM
Mar 1 Lab 3 Compiler
8Mar 3Spring Break (No Class)
Mar 5Spring Break (No Class)
9Mar 10Lecture: Dynamic SemanticsWritten 4
Mar 12Lecture: Mutable Store
Mar 13Recitation: Dynamic SemanticsLab 4
Mar 15 Lab LLVM Compiler
10Mar 17Lecture: Structs
Mar 19Lecture: Optimization I Written 4
Mar 20Recitation: Optimizations I
Mar 22 Lab 4 Tests
11Mar 24Lecture: SSA II
Mar 26Lecture: Optimization II
Mar 27Recitation: Optimizations IILab 5
Mar 29 Lab 4 Compiler
12Mar 31Lecture: Dependence Analysis
Apr 2Lecture: Loop/Locality Optimizations
13Apr 7Lecture: Partial Redundancy Elimination
Apr 9Spring Carnival (No Class)
Apr 12 Lab 5 Tests
Lab 5 CheckPoint
14Apr 14Lecture: Alias Analysis/Load-Store Elimination
Apr 16Lecture: GVN/Inlining/SSA-revisited
15Apr 21Lecture: Guest TBA
Apr 23Lecture: wrap-up
Apr 26 Lab 5 Compiler
May 3 Lab 5 Report

Recitations

Date Recitation Solution
Jan 16 Lab 1 Intro / Course Overview  
Jan 23 Instruction Selection  
Jan 30 SSA  
Feb 6 Statics Semantics  
Feb 13 Lexing and Parsing  
Feb 20 Calling Conventions  
Feb 27 LLVM  
Mar 6 No Recitation  
Mar 13 Dynamic Semantics  
Mar 20 Optimizations I  
Mar 27 Optimizations II