- Intermediate or advanced programming experience in any language - At least basic programming experience in Java - English (written)
Lectures, assignments, and a written exam
More about the course content
The course presents techniques, theories, and tools used for constructing a compiler. The course also discusses how these ideas can be used to define, process, and interpret domain-specific languages within model-driven software engineering. As a result, the course focuses on the compiler frontend, generation of intermediate program representations, and execution of such representations.