CS 553: Compiler Construction (Fall 2007)


Syllabus for CS 553: Compiler Construction (Fall 2007)

Date and Time

MWF 2:00-2:50, Room 310B


Dr. Michelle Strout (mstrout@cs.colostate.edu), Office hours: W 3-4:30pm, R 1-2pm

Class Communication

Mailing list: cs553fall07@googlegroups.com, http://groups.google.com/group/cs553fall07
Schedule web site: http://www.cs.colostate.edu/~cs553/schedule.html
You are responsible for knowing about all assignment deadlines posted on the schedule website and all course changes that are posted to the mailing list.

Course Description

This course is a broad introduction to advanced issues in compiler construction. Topics will include the following: scanning, parsing, abstract syntax trees, 3-address code, compiling for OOP and garbage collection, register allocation, instruction scheduling, control-flow analysis, data-flow analysis, static single assignment, loop transformations for parallelism and locality, interprocedural analysis, and alias/pointer analysis.

Prerequisites for this course include an undergraduate automata theory class, and an undergraduate compilers course or extensive Java programming experience.


Compilers: Principles, Techniques, & Tools, Second Edition by Aho, Lam, Sethi, and Ullman, Pearson Education, 2007.

Homework and Projects

There will be three homework assignments to be completed individually and due at the beginning of class. There will be four programming projects to be done with a partner.


The final exam is on Tuesday December 11th. The final exam time is 1:30pm on 3:30pm.

Grades (will be posted at RamCT

Projects: 40%, Final exam: 25%, Midterm exam: 20%, Homework: 15%

Honesty Policy

Read and know the Computer Science Department Student Information Sheet at http://www.cs.colostate.edu/~info/student-info.html.
Michelle Strout
Last modified: September 14, 2007