15-411

Schedule

Lectures

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

Recitations

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

Integrated Schedule

The deadlines may not be accurate, please check the Labs and Written schedules for accurate deadlines. All deadlines are 11:59pm of the day listed.

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