12/9/12: I will be giving an exam (for 573) during regular office hours tomorrow (Monday). Office hours will be from 3 to 4 PM instead.

12/6/12: The deadline for the final project turn in has been postponed to Sunday, Dec. 9th at 11:59pm. There will be NO further extensions granted.

12/5/12: The final exam will be from 7:00PM–9:00PM in BRWN 1154. It will be cumulative, though it will focus more on material covered since midterm 2 (dependence analysis and dataflow analysis). It is open book and open notes. There will be a review session for the final during the normal lecture time on Friday. Past final exams are available here

12/2/12: Office hours for tomorrow (12/3) have been rescheduled for 1–2 PM.

11/28/12: Grades for Midterm 2 have been released to blackboard. The class average was 80.9. I will be handing the midterms back today in class. The key and rubric are available here. Regrade requests must be via email, and detail what the concern is. Requests are due by Friday at 5pm.

11/18/12: Problem set 6 (last problem set of the year) posted. You do not have to turn this in, but be aware that there may be problems like it on the final exam.

11/18/12: Details of Project step 7 (register allocation) posted.

11/8/12: Project step 6 due date postponed to Saturday, Nov. 10th. Also, see announcement on project page regarding tiny output.

10/30/12: Project step 6 posted.

10/29/12: Office hours for 10/30 moved to 11/2 from 10–11.

10/26/12: Outputs for project step 5 posted.

10/26/12: Problem Set 5 has been posted. Midterm 2 has been rescheduled to Nov. 5th.

10/19/12: Schedule changes this week: (1) Lecture on Monday is replaced with Lab time in EE 206/207. (2) Office hours this week are moved to 9–11 on Friday. (3) There will be a guest lecture on instruction scheduling on Wednesday. Problem set 4 is still due on Monday; turn it in via email or to my admin, Wanda Dallinger, in EE 326B, by class time. Also, The TA's office hours on Thursday have been permanently moved to Tuesday.

10/15/12: Project step 4 is now due Tuesday, Oct. 16th at 11:59pm.

10/14/12: Project step 5 has been posted.

10/10/12: Jonathan's office hours on Thursday have been rescheduled (just for this week) to Friday from 1–2.

10/10/12: Midterm 1 will be handed back in class today. The class average was an 83. The exam key and rubric are here. Regrade requests must be via email, and detail what the concern is. Requests are due by Friday at 5pm.

9/26/12: Project step 4 has been posted. Note that the due date has changed from the syllabus. Step 4 is now due Monday, 10/15 at 11:59pm.

9/26/12: Reminder: Midterm 1 is this Friday. We will be having a review session in class today. The midterm will cover lectures 1, 2 and 3, and is open-book and open-notes. In addition to the problem sets from this semester, it may be useful to look at problem sets and past midterms from previous editions of 468 and 573, which can be accessed from the Courses section of my homepage.

9/21/12: Project step 3 has been posted.

9/18/12: Tomorrow's lecture (9/19) is cancelled. Problem set 2 is still due; please submit it to my admin, Wanda Dallinger (EE 326B), by 3:45pm.

9/16/12: Project step 1 grades have been posted to Blackboard. If you have any questions about your grade, please send both myself and the TA an email.

9/14/12: There are several schedule changes for next week. The due date for project step 2 (your parser) has been moved to 9/17. Accordingly, the due date for problem set 2 has been moved to 9/19. Lecture on Monday has been replaced by lab time in EE 207, where the TA can answer any last-minute questions regarding project step 2.

9/10/12: There has been a slight change to the grammar of the first problem in Problem Set 2, that should hopefully reduce confusion.

9/5/12: Problem set 2 is available. Answers for Problem set 1 will be posted soon.

9/1/12: Project step 2 posted.

8/26/12: Of the 40 students registered for the class, 32 turned in project step 0. If you forgot to turn in the project step, or you were unable to turn it in for some reason, please send both myself and the TA an email ASAP with the subject line "ECE 468 Project Step 0" explaining the situation.

8/25/12: Problem set 1 is available.

8/25/12: Project step 1 posted.

8/21/12: Correction: I meant to ask for your Purdue user id, not your Purdue ID number in the questionnaire. It's been corrected, but if you've already submitted the questionnaire and provided your ID number, could you please resubmit?

8/12/12: 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: Mondays and Tuesdays, 11:00–12:00, and by appointment.
EE 324A
TA:Jonathan Too
Office hours: Tuesdays and Wednesdays, 6:00–7:00
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.

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!)