Compiler Construction

CSCI 4555/5525 and ECEN 4553/5523

Follow me on GitHub

The following schedule lists the topics we will cover and approximately the number of meetings we will spend on each topic. The schedule is tentative. Most likely, some things will change during the semester, and I will revise the schedule as necessary.

The Reading column lists the assigned reading for the meeting. You should view the readings as an introduction to spark discussion in class.

The Assignment column lists the due date for each assignment.

    Date Topic Reading Assignment
1 Tue 8/29 Welcome and course overview.
Get signed-up on Moodle.
HW0: Post a note on Piazza to introduce yourself.
  HW0 due Wed
  Thu 8/31 Integers and variables.
meeting02-board, meeting02-notes,test_meeting02.py
Chapter 1: 1.1-1.3 1.5  
2 Tue 9/5 Integers and variables.
meeting03-board,meeting03-notes
Chapter 1: 1.4 1.6  
  Thu 9/7 Integers and variables
meeting04-board,meeting04-notes
Chapter 1 HW1 due Fri
3 Tue 9/12 Parsing Chapter 2: 2.1-2.3 EX1
  Thu 9/14 Parsing Chapter 2: 2.4  
4 Tue 9/19 Register allocation
[meeting07-board],[meeting07-notes]
Chapter 3: 3.1-3.2 HW2 due Tue
  Thu 9/21 Register allocation Chapter 3: 3.3  
5 Tue 9/26 Register allocation Chapter 3: 3.4-3.5 EX2
  Thu 9/28 Register allocation Chapter 3 HW3 due Fri
6 Tue 10/3 Data types and polymorphism Chapter 4: 4.1-4.4 EX3
  Thu 10/5 Data types and polymorphism Chapter 4: 4.6-4.10  
7 Tue 10/10 Data types and polymorphism Chapter 4: 4.5  
  Thu 10/12 Data types and polymorphism Chapter 4 HW4 due Fri
8 Tue 10/17 Midterm review   EX4
  Thu 10/19 Midterm exam: evening (time TBA)    
9 Tue 10/24 Functions Chapter 5: 5.1-5.3  
  Thu 10/26 Functions Chapter 5: 5.4-5.5 Pre-Proposal due Fri
10 Tue 10/31 Functions Chapter 5  
  Thu 11/2 Functions Chapter 5 HW5+Proposal due Fri
11 Tue 11/7 Objects Chapter 6 EX5
  Thu 11/9 Objects Chapter 6  
12 Tue 11/14 Objects Chapter 6  
  Thu 11/16 Objects Chapter 6 HW6+Status due Fri
13 Tue 11/21 No class: fall break    
  Thu 11/23 No class: fall break    
14 Tue 11/28 Compiler optimization and static analysis    EX6
  Thu 11/30 Compiler optimization and static analysis     
15 Tue 12/5 Final review    
  Thu 12/7 Final exam: evening (time TBA)    
16 Tue 12/12 Final project presentations    
  Thu 12/14 Final project presentations    
17 Tue 12/19 Finals week   Paper due Sun