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
Feb 10Shift-reduce Parsing
Feb 12Typechecking
Feb 13 Lab 3Feb 21: Tests
Feb 28: Compiler
Feb 17Calling ConventionsWritten 3Feb 25
Feb 19Dataflow Analysis
Feb 24Dataflow Analysis II
Feb 26LLVM
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  
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  

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
Fri Feb 6Recitation: Statics Semantics
5Tue Feb 10Lecture: Shift-reduce Parsing
Wed Feb 11 Written 2
Thu Feb 12Lecture: Typechecking
Fri Feb 13Recitation: Lexing and ParsingLab 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
Sat Feb 21 Lab 3 Tests
Sun Feb 22
7Tue Feb 24Lecture: Dataflow Analysis II
Wed Feb 25 Written 3
Thu Feb 26Lecture: LLVM
Fri Feb 27Recitation: LLVMLab 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