CSE 231 - Advanced Compilers
Fall 2003
Welcome to CSE 231! All class members are asked to use this web page
to get the latest information.
Check out
the SCHEDULE to see when your paper is scheduled! All links now are active.
Also check out information on how what to prepare for the discussion you are leading, and how to write paper reviews here.
Course Description
This course focuses on the analysis and optimization
phases of compilers.
Lecture Times and Location
-
Monday and Thursday at 4:15 - 5:35 pm, in APM 4882
Class Structure
The first half of the class will cover advanced compiling from the
recommended text, Advanced Compiler Design and
Implementation} by Steven S. Muchnick, 1997, Morgan Kaufmann
publishers,
with lectures mainly from chapters 7, 8, 9, 11,
12, 13, and 14. ( You needn't buy the book.)
In the second half, we will be discussing papers which we have all
read in advance of the class. The papers will be taken from the
``classics'' as well as some recent papers taken from selected topics,
such as empirical-driven optimization guidance; performance models for
optimization guidance; machine-learning approaches to optimization;
meta-compilation; and runtime optimization. Class members will take
turns leading discussions. Each week, when not leading a class
discussion, you will in addition write a critical review of one of the
papers discussed that week. In addition, students will do (small)
projects of their own choosing.
Class Requirements and Grading
-
Homeworks covering the text (20 %)
-
Class participation and leading discussions on papers (20%)
-
Weekly critical reviews of papers (20%)
-
Project of your choice (40%)
Projects
Your project can take one of three forms:
-
A survey of major research results in a particular area related
to the course. You will need to identify the area, propose a set of
8-10 papers, and write a 6-10 page report.
-
A proposal for new research related to the course. You will
need to identify the area, propose a set of 4-5 papers as background,
and write a 6-10 page report describing and justifying the problem or
question that you are proposing, and outlining a method for
approaching the problem.
-
An implementation or experiments extending the work of a chosen
paper. You will need to identify the paper, propose a set of
experiments or implementation, and write a 4-5 page report describing
your problem, your implementation, and the results.
Course Text