Design and Implementation of Modern Programming Languages

With this seminar you will learn the core techniques of scientific work. There are no frontal lessons: you will have to write a term paper that summarizes your knowledge of an assigned topic after reading a selection of scientific papers. Each participant is also required to give a talk about the topic chosen. Several topics are available, proposals from students can also be evaluated.

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).

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

Course Information



Course Type

S2 / 3 CPs


See the website


Both papers and talks must be delivered in English