Implementation of Programming Languages

Modern programming languages like Java offer the programmer many advanced concepts: automatic memory management, dynamic class loading and linking, powerful type systems, and efficient just-in-time compilation. Typically, such features are partly implemented by the language's compiler (checking whether a program is well-typed), partly by the runtime environment (collecting garbage, i.e., objects no longer reachable). Consequently, we offer numerous topics concerned with both the front- and back-ends of modern language implementations.

With this course you will work on a practical project in the area of programming languages and software engineering. Several topics are available and will be presented at the beginning of the course, proposals from students can also be evaluated.

This course is complemented by a seminar: Design and Implementation of Modern Programming Languages. Attending the seminar is not mandatory, although there may exist synergies between topics offered here and in the seminar.

Course Information



Course Type

P4 / 6 CPs


Dr. Guido Salvaneschi, Ragnar Mogk, M.Sc.


Please sign up by mail:


Slides , (Friday, April 15 2016, 14:00 in S2|02 A126 has passed)


The project discussion and the project documentation must be in English