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.
meeting08-board,meeting08-notes
Chapter 3: 3.3  
5 Tue 9/26 Register allocation.
meeting09-board,meeting09-notes
Chapter 3: 3.4-3.5 EX2
  Thu 9/28 Register allocation.
meeting10-board,meeting10-notes
Chapter 3 HW3 due Fri
6 Tue 10/3 Data types and polymorphism.
meeting11-board,meeting11-notes
Chapter 4: 4.1-4.4 EX3
  Thu 10/5 Data types and polymorphism.
meeting12-board,meeting12-notes
Chapter 4: 4.6-4.10  
7 Tue 10/10 Data types and polymorphism.
meeting13-board,meeting13-notes
Chapter 4: 4.5  
  Thu 10/12 Data types and polymorphism.
meeting14-board,meeting14-notes
Chapter 4 HW4 due Fri
8 Tue 10/17 Midterm review.
meeting15-board
  EX4
  Thu 10/19 Midterm exam: 7:30pm-9:30pm, ECCR 200    
9 Tue 10/24 Functions.
meeting17-board,meeting17-notes
Chapter 5: 5.1-5.3  
  Thu 10/26 Functions.
meeting18-board,meeting18-notes
Chapter 5: 5.4-5.5 Pre-Proposal due Fri
10 Tue 10/31 Functions.
meeting19-board,meeting19-notes
Chapter 5  
  Thu 11/2 Functions.
meeting20-board,meeting20-notes
Chapter 5 HW5+Proposal due Fri
11 Tue 11/7 Objects Chapter 6 EX5
  Thu 11/9 Objects.
meeting22-board,meeting22-notes
Chapter 6  
12 Tue 11/14 Objects.
meeting23-board,meeting23-notes
Chapter 6  
  Thu 11/16 Objects.
meeting24-board,meeting24-notes
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.
Guest lecture: Benno Stein 
  EX6
  Thu 11/30 Compiler optimization and static analysis.
Guest lecture: Shawn Meier 
   
15 Tue 12/5 Final review.
meeting27-board
   
  Thu 12/7 Final exam: 7:00pm-9:30pm, ECCR 265    
16 Tue 12/12 Final project presentations    
  Thu 12/14 Final project presentations    
17 Tue 12/19 Finals week   Paper due Sun