Compilers
People
Nystrom N.
Course director
Javed O.
Assistant
Description
This course studies the construction of optimizing compilers, focusing on the "backend" of the compiler: techniques for generating efficient code on modern architectures. We will cover dataflow analysis, program optimization, and code generation across basic blocks, procedures, and complete programs. We will look some of the key challenges for modern compilers and runtime systems: optimization of object-oriented languages, dynamic compilation, garbage collection, dependence analysis, and loop transformations. The bulk of your course grade will come from programming assignments that implement program analysis, intermediate representations, and optimizations.
REFERENCES
- "Compilers: Principles, Techniques, and Tools", 2nd edition, Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman, 2006.
- "Advanced Compiler Design and Implementation", Steven S. Muchnick, 1997.
Education
- Master of Science in Financial Technology and Computing, Core course, Lecture, 1st year
- Master of Science in Informatics, Elective course, Lecture
- Master of Science in Software & Data Engineering, Elective course, 1st year
- PhD programme of the Faculty of Informatics, Elective course, Lecture