Discussion seminar: Metaprogramming

Metaprograms process and produce source code. A metaprogram treats a regular program as data and thus enables abstractions and reflections outside the scope of regular programming languages. Metaprogramming is widely applied in programming languages. From C++ templates and syntactic macros, to model-driven development, domain-specific languages and aspect-oriented programming: Metaprogramming plays a significant role in many modern programming systems. In this seminar, we study the foundations of metaprogramming and its applications in modern software development.

This is a discussion seminar with weekly meetings. In each meeting, we discuss a scientific article. The following weekly activities are required:

  • reading a scientific article,
  • writing a short summary of the article (max 0.5 pages),
  • active participation in the discussion of the article.


Date Material
Tuesday, 15. April Kick-off meeting (mandatory)

Please find all papers we will discuss here The papers are listed as assignments, and this is also where you should submit your summaries. You may have to sign to see the papers. Please use your full name as user name.

Course Information



Course Type

S2 / 3 CP


Tuesday, 15. April, 16:15 in S202 A126


Tuesdays, 16:15 - 17:55 in S202 A126


Sebastian Erdweg


Please register in TUCAN and also send an email to Sebastian Erdweg. To ensure an interactive and productive seminar, we have to limit the number of participants to aprox. 15. Therefore, the kick-off meeting is obligatory.


The seminar will take place in English.