Lectures meet 10:00am–11:20am on Tuesdays and Thursdays.
Assignments are due at 11:59pm on the due dates.
The schedule is subject to change.

Date Lecture Topics Notes & Videos Upcoming Important Dates
Jan. 10 course overview  
Jan. 12 lexing  
Assignment 0 due Jan. 13
Jan. 17 lexing  
Jan. 19 parsing    
Jan. 24 parsing    
Jan. 26 parsing    
Jan. 31 parsing    
Feb. 2 name resolution & type checking    
Assignment 1 due Feb. 3
Feb. 7 name resolution & type checking    
Feb. 9 name resolution & type checking    
Feb. 14 dataflow analysis    
Feb. 16 dataflow analysis    
Assignment 2 due Feb. 17
Feb. 21 Reading Week
Feb. 23 Reading Week
Feb. 28 dataflow analysis    
Mar. 2 dataflow analysis    
Mar. 7 generating intermediate code    
Assignment 3 due Mar. 8
Mar. 9 generating intermediate code    
Mar. 14 x86 and instruction selecion    
Mar. 16 x86 and instruction selecion      
Assignment 4 due Mar. 17
CS 644 proposal due Mar. 17
Mar. 21 compiling OO languages    
Mar. 23 compiling OO languages    
Mar. 28 register allocation    
Mar. 30 compiling functional languages    
Assignment 5 due Mar. 31
No late penalty through Apr. 26
Apr. 4 abstract interpretation    
Apr. 6 static single assignment    
Apr. 10 Make-up Day for Good Friday
Assignment 6 due Apr. 10
CS 644 project due Apr. 10
No late penalty through Apr. 26
Final exam, Apr. 24