This is an
introductory course on compiler construction. Topics include formal languages (regular and contextfree), categories of
programming languages, lexical analysis and parsing, type checking,
static analysis, compiler optimizations, code generation, memory organization and runtime support.
Staff:
Instructor  Vijay Ganesh 
Office Hours: By Appointment (DC 2530) 
TAs 
Nomair Naeem (nanaeem@uwaterloo.ca) Riyad Parvez (riyad.parvez@gmail.com) Reza Babaee (rbabaeec@uwaterloo.ca) 
Office Hours: Tuesdays 121:00 PM (DC 3548) Office Hours: Fridays 121:30 PM (DC 2634) Office Hours: Tuesdays 12:30 PM (E5 4111) 
Lab Instructor 
Tiuley Alguindigue (talguind@uwaterloo.ca) 
Present during the lab hours. See Class Schedule for lab hours. 
Date 
Lectures Slides and Outline 
Detailed Lecture Description, Notes and References 
Monday May 5 
Topics Covered:
 
Friday May 9 
Topics covered:


Monday May 12 Tuesday May 13 
Topics covered:


Friday May 16 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Friday (review lectures) 

Topics Covered:

Monday 

Topics Covered:

Friday (review lectures) 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:

Monday 

Topics Covered:

Friday 

Topics Covered:
