Design and Implementation of Modern Programming Languages

If you want more information, scroll down to Overview. If you want to participate in the seminar, project, or both, then check the Timeline below and register on Moodle.

List of Topics for WS 2024/25
List of Topics for SS 2024 (past semester)

You can contact us on Moodle.

Timeline

Let us know if the presentation day and time conflicts with another course!

All submissions happen via Moodle. All deadlines are at 23:59. In doubt, the date and time in moodle counts.

Overview

DAIMPL consists of a Seminar and Project. You can do both together (usually on the same topic), only the seminar, or only the project. If you have previously taken the seminar, you can instead do a Teaching Internship ("20-00-0443-pl Praktikum in der Lehre - Softwaretechnik" in Tucan).

The seminar and project will be done in groups 2 or 3 students (the teaching internship is done alone). We have a limit on the number of groups we can accept (ca. 15 seminar, 10 project). If there are too many applicants, we will decide based on your motivation text (see Moodle for the registration). Due to the limitation in the number of groups, we strongly encourage you to sign up as a group of 2 or 3. If you apply alone, we may add you to another group and your chance of rejection is higher. We provide a Moodle forum for finding group members.

For the purposes of forming a group to do the seminar together, we encourage any form of self organization. Communication with supervisors happens via the questions forum in Moodle or by private message.

As an (unofficial) communication channel, you may try to find like-minded students here:

Project

The project reflects the open-ended practical aspect of the research process. Compared to the seminar, the focus is on you doing or implementing something yourself, rather than reading literature. Start with a research question but refine the question together with your supervisor while understanding the topic better while working on it. Note that the project does not have a fixed timeline, but we expect you to regularly work on the project during the semester and report/discuss with your supervisor. The expected workload is roughly 1 working day a week (6 CP). We will ask you to write a short article summarizing the results of your project (think: blog post).

Project Grading

The result has to “work” (i.e., if you write code, it has to run). It must have enough documentation such that you yourself could work on it again next year.

At the end of the project, write a short text with inline images summarizing the highlights of your results.

You will be graded on the quality of the implementation and how much of the research question you answered. High quality results that answer a small part are good. Rough results, answering a lot of interesting questions, are also good.

Seminar

The primary goal of the seminar is to introduce you to the scientific publication process. The secondary goal is the introduction to one research area in depth, and multiple other areas superficially.

The process is:

Page and Presentation Time Limit

The page limit and the presentation time adapts to the size of the group:

The page limit takes the space needed for the title and any figures or tables already into account. If many or large figures or tables are included, we expect a slightly longer term paper to compensate for this. Please consult your advisor about this. References do not count towards the page limit. In addition to your starting papers, we expect at least 2–3 related references found per person.

Writing papers

The initial references provided with the topic chosen by you are only a first step; in your term paper, try not to summarize everything that's written therein or in the references' references. Instead, try to tell an engaging, coherent story about one aspect of the topic. (It helps to image oneself as a novice to the topic, who attends the talks or reads the term papers.) Also, search for further references on your own and point out connections between the various papers you researched.

Please present technologies, e.g., programming languages, with your own words and your own examples. If you merely copy the work of others, this means but one thing: no contribution; you will fail the seminar. This rule does not prevent you from quoting other researchers, however. It does require you to faithfully attribute quotations or other kinds of references, though.

Pick some interesting finding about your research area and focus on explaining that. Start with a motivation of the problem. Illuminate necessary terminology considering both being formally correct, providing informal intuition and concrete examples. Remember, your paper MAY summarize the papers you read, but pure summaries are boring – make sure to relate the summaries to each other and the overall story you want to tell.

All participants are required to use the same template:

In summary:

Writing reviews

We will send you a review template with specific details. See also:

Typical reviews at conferences in our field are “double-blind,” so both the author's and reviewer's identities are kept secret to avoid any bias. For this seminar, we want at least the reviewers to stay anonymous, so please do not write your name on your reviews.

Giving scientific talks

With this seminar, we want to introduce you to core techniques of scientific work; each participant is thus required to give a talk about the topic chosen. This talk will be given during a Blockseminar at the end of the term.

Each member of the group should speak for an equal amount of time in the presentation. Please practice your talk several times; in particular, make sure that you do not miss the time limit by much, i.e., by at most 10%; this mimics the strict time limits of real-world conferences and workshops. Consequently, if a talk is significantly shorter or longer, then this fact will have a (negative) impact on the presenters' grade.

Some general advice on talks:

Seminar Grading

The overall grade for the seminar is determined by:

Furthermore, we will consider the effort placed into writing a good sketch, draft and changelog in the grade for the final paper submission to a small degree. And, we will consider your participation in the discussion following each talk; it counts towards the grade received for the talk.

Although the grade for the paper is given to the whole group, the final grade between members of a group may differ due to the individual grading on the talk and reviews.

Teaching Internship

To take the teaching internship, you must have taken the seminar previously. The internship gives 5 CP and involves holding office hours and giving feedback to the students taking the seminar, as well as proposing improvements in the organisation of the seminar.

You will be graded based on