Prerequisites

Basic course in compiler construction, corresponding to the undergraduate
courses Compilers and Interpreters, or
Compiler Construction.
Basic course in data structures and algorithms.
Basic knowledge in processor architecture.
Programming in C++/Linux for the Compiler framework labs.
Some background in combinatorial optimization may be useful.

Organization

2 intensive weeks of lecturing, including some lessons
(assistant-guided repetition + problem solving sessions).
Optional lab series with some open-source compiler framework.
Several extra sessions for student presentations
at the end of the course.