CSE 401, AU '08: Introduction to Compiler Construction

Time:MWF 12:30-1:20PM
Place:MGH 271

Instructor:David Notkin
 Office hours: 1:30-2:30PM Mondays or by appointment (office CSE542)

TA:Hao Lü (hlv)
 Office hours: 4:00-5:00PM Wednesdays or by appointment (office CSE218)

Texts

Required Text: Cooper & Torczon, Engineering a Compiler. Errata
Also useful: Aho, Sethi, & Ullman, Compilers: Principles, Techniques, and Tools.

Catalog Description

Fundamentals of compilers and interpreters; symbol tables, lexical analysis, syntax analysis, semantic analysis, code generation, and optimization for general purpose programming languages. No credit to students who have taken 413.  Credits: 3.  Prerequisites: CSE 322; CSE 326; CSE 341; CSE 378.


Initial Survey: please complete by Friday September 26, 2008

https://catalysttools.washington.edu/webq/survey/notkin/60964

Mailing list

This will be available on Thursday, September 25 -- membership will be automatically managed based on official class lists.

Calendar

Evaluation (weights subject to reasonable adjustment)

Course Project

The course project involves turning a toy compiler into an (almost) real one. The project is done by individuals. Each project milestone will be graded on correctness, coding style, and completeness of test cases. See assignment links for details.  Although the project is done by individuals, it is strongly encouraged that you talk to others in depth about how to do the project; discussions of this nature are exempt from the academic conduct section below, assuming that each student takes full responsibility for the changes and is fully conversant with each and every line of code in the project.  To try to make this a bit clearer, the operational idea is that you can discuss the project with others as much as you want as long as you watch a full episode of Prison Break or America Idol or CSI (any version, including reruns) or Get Smart or equivalent before working on the project based on those discussions.  The idea is that if you understand the material from the discussion after clearing your mind, you understand it well enough on your own.

Useful links:

Reading

Assigned readings are on the calendar, to be done before class on the given day, from Cooper & Torczon, Engineering a Compiler.  Chances are that some of the readings are being required earlier than we will actually get to in lecture, but staying up with or ahead of the material is of real benefit.

Assignments

Lecture notes

I anticipate posting these after lectures.

Exams

The midterm will take place in class on Friday, October 24, 2008. The final exam is 8:30-10:20AM Thursday, December 11, 2008.

Instructor Absence

No Class

There will be no lecture on the day before Thanksgiving, Wednesday November 26, 2008. 

Late Policy

Each student has three late days to use over the course of the quarter, without penalty. Beyond that, 25% will be deducted from an assignment's grade for each calendar day it is late. Assignments are due at the start of class, unless otherwise noted. Late days are for you to use to manage unavoidable conflicts in your own schedule; excuses for late work beyond the three late days will not be accepted.

Academic Conduct

Cheating is a very serious offense and will be dealt with through the departmental, college and university processes. If you feel that you are having a problem with the material, or don't have time to finish an assignment, or have any number of other reasons to cheat, then talk with the instructor. Copying others' work, from this or previous quarters is considered cheating.

To avoid creating situations where copying can arise, never e-mail or post your solutions. You can post general questions about interpretation and tools but limit your comments to these categories. If in doubt about what might constitute cheating, send the instructor email describing the situation. For more details see the CSE Academic Misconduct web page.


Portions of the CSE 401 Web may be reprinted or adapted for academic nonprofit purposes, providing the source is accurately quoted and duly credited. The CSE 401 Web: © 1993-2008, Department of Computer Science and Engineering, University of Washington.