This course will cover the basic compiler technologies useful for a broad range of topics, including architecture, security, reliability, operating systems and languages. Despite its "special topics" designation, the course will actually cover basic graduate-level introductory material necessary to understand compilers. The course will be useful to any graduate student doing research in any of the above topics since most of them have been shown to benefit from compiler technology.
This course will stay away from well-understood compiler topics such as grammars and parsing. Instead the focus will sharply be on optimizations and applications since virtually all active compiler research today is in these areas. The only prerequisite is a basic architecture course (ENEE 446, 646 or equivalent.)
Topics covered are mentioned in the "Course logistics, topics covered and other information" link below.
The course will consist of some lectures, some instructor research presentations, some student presentations, and a simple project. The overall work-load will be light, mainly two homeworks and one exam, a project, reading of recommended papers and writing a 1/2 page report on the paper of the week (for student presentations only). Students will learn how to use the SUIF compiler infrastructure. The course is primarily targeted towards graduate students and motivated seniors.
Course logistics, topics covered and other information
Homework 1 (DLX instruction set summary (needed for Homework 1))
Solutions for homework 1
Solutions to homework 2
Solutions to practice examination
Solutions to Mid-term examination
Talk topics and schedule
Talk guidelines (revised!!)
Reading list for talks
Pre-seminar written reports
Prof. Rajeev Barua.
Last updated May 2, 2007.
This site is http://www.ece.umd.edu/class/enee759c