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 Semantics, NotesWritten 4Mar 20
Mar 12Mutable Store, Notes
Mar 13 Lab 4Mar 21: Tests
Mar 28: Compiler
Mar 17Structs, Notes
Mar 19Optimization I, Notes
Mar 24Optimization II, Notes
Mar 26No Lecture
Mar 27 Lab 5Apr 13: Tests & CheckPoint
Apr 25: Compiler
May 2: Report
Mar 31Alias Analysis, Data Dependence, Wolf & Lam paper
Apr 2GVN (By Ben Titzer)
Apr 7JITs/Dynamic Optimization (Guest Lecture), Virtual Machines & Managed Runtimes
Apr 9Dependence Analysis
Apr 14Guest Lecture by Jane Street
Apr 16Code Layout, Function Inlining
Apr 21Project Day (Office hours)
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 Solution
Mar 6 No Recitation  
Mar 13 Memory & Dynamic Semantics Solution
Mar 20 Optimizations I Solution
Mar 27 Optimizations II Solution
Apr 3 No Recitation  
Apr 10 No Recitation  
Apr 17 No Recitation  
Apr 24 Lab 5 In-Class Review  

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 & Dynamics, SolutionLab 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 Semantics, NotesWritten 4
Thu Mar 12Lecture: Mutable Store, Notes
Fri Mar 13Recitation: Memory & Dynamic Semantics, SolutionLab 4
Sat Mar 14 Lab LLVM Compiler
Sun Mar 15
10Tue Mar 17Lecture: Structs, Notes
Thu Mar 19Lecture: Optimization I, Notes
Fri Mar 20Recitation: Optimizations I, Solution Written 4
Sat Mar 21 Lab 4 Tests
Sun Mar 22
11Tue Mar 24Lecture: Optimization II, Notes
Thu Mar 26Lecture: No Lecture
Fri Mar 27Recitation: Optimizations II, SolutionLab 5
Sat Mar 28 Lab 4 Compiler
Sun Mar 29
12Tue Mar 31Lecture: Alias Analysis, Data Dependence, Wolf & Lam paper
Thu Apr 2Lecture: GVN (By Ben Titzer)
13Tue Apr 7Lecture: JITs/Dynamic Optimization (Guest Lecture), Virtual Machines & Managed Runtimes
Thu Apr 9Lecture: Dependence Analysis
14Mon Apr 13 Lab 5 Tests
Lab 5 CheckPoint
Tue Apr 14Lecture: Guest Lecture by Jane Street
Thu Apr 16Lecture: Code Layout, Function Inlining
15Tue Apr 21Lecture: Project Day (Office hours)
Thu Apr 23Lecture: wrap-up
Fri Apr 24Recitation: Lab 5 In-Class Review
Sat Apr 25 Lab 5 Compiler
Sun Apr 26
16Sat May 2 Lab 5 Report
Sun May 3