12/7/13>: The solutions to problem set 5 have been posted. Note that if you are looking at past problem sets, the Fall 2011 solutions for PS 5, question 2 are incorrect (available expressions is not computed correctly).

12/6/13: A few past finals are available here (468 students: pay more attention to the previous 468 exam). You may also find the solution for the 2009 573 final useful.

12/5/13: I will have extra office hours from 2:30–4:30 on Friday, and 9:00–10:00 on Monday..

12/3/13: The key for midterm 2 is available here.

12/2/13: The ECE 468 Final Exam is scheduled for Monday, December 9th, from 1pm 3pm in EE 170.

11/26/13: So that you guys have a chance to talk to the TA about your projects after Thanksgiving, I am giving a free extension of the Step 7 deadline to Wednesday, Dec. 4th. Note that this is not the same as postponing the due date. The step is still officially due on Monday, and the 5-day window for turning the project in late still expires on Saturday. But submissions received on Tuesday and Wednesday will not have points deducted.

11/6/13: Reminder: lecture is cancelled on Friday (11/8). Office hours on Thursday (11/7) are also cancelled. To ensure that students have one more chance to come for office hours, Project step 6 is now due on Wednesday, November 13.

10/4/13: The solutions to midterm 1 are available here. If you would like a regrade, please email me your regrade request, specifying which problem you would like regraded, and the exact issue. Regrade requests are due by Wednesday, Oct. 9th.

9/8/13: Reminder: lecture cancelled tomorrow (9/9). Wednesday will be a "lab day"; the TA will be in EE 207 to answer questions.

9/4/13: Project step 2 now due September 20. Problem set 1 posted, due September 13.

8/30/13: Project step 1's due date has been extended to Monday, September 2nd.

8/21/13: The TA's office hours have been scheduled. See below or on the project page.

8/19/13: Evening exams have been scheduled. The two midterms will be on 9/25 and 10/31. Both will be from 6:30–7:30 in LYNN 1136.

8/13/13: I had the room for lecture wrong on the webpage before. We will be meeting in the Mechanical Engineering Building, room 2061.

8/12/13: Webpage live!
Course Description

This course focuses on the tools and techniques needed to build an optimizing compiler. Topics include:

  1. Scanning and parsing: determining the syntactic structure of a program
  2. Semantic routines: determining the semantics of a program and building an intermediate representation
  3. Code generation: emitting assembly code that is equivalent to the program
  4. Program optimizations: improving the performance of a program
  5. Program analysis: determining interesting information about a program's behavior
  6. Why we shouldn't be like Mel.
Course Details
Instructor:Milind Kulkarni
milind 'at' purdue 'dot' edu
Office hours: Wednesdays, 10:00–11:20, Thursdays, 1:30–2:50, and by appointment.
EE 324A
orangzeb 'at' purdue 'dot' edu
Office hours: Tuesdays 6pm–7pm, and Wednesdays 12:30pm–1:30pm
EE 207
Course Information

The course syllabus discusses most of the details of the course, including a tentative schedule of topics, a brief description of the project and other administrative information.

The discussion forum for the class is on Piazza.

Project information

The project page is available here. Keep a close eye on the project page for project-related announcements. Any changes to project requirements will be posted there.

Lecture Notes
Problem Sets

Problem sets are due on the date shown. You may submit them by email before class, or turn in a hard copy at the beginning of class. (Not the end!)