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)
Required Text: Cooper & Torczon, Engineering a
Also useful: Aho, Sethi, & Ullman, Compilers: Principles, Techniques, and Tools.
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.
This will be available on Thursday, September 25 -- membership will be automatically managed based on official class lists.
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.
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.
I anticipate posting these after lectures.
The midterm will take place
There will be no lecture on the day before Thanksgiving, Wednesday November 26, 2008.
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.
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.