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 preregister on Moodle.

List of Topics

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 12:00 (noon / middle of day). 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.

We recommend working in groups of 2 or 3 students. If you apply as a group, you are more likely to get your desired topic. If you apply alone, we may ask you to group up with other students based on your topic choices.

For the purposes of forming a group to do the seminar together, we encourage any form of self organization. To keep things lightweight on our end, we do not offer an official courseware (i.e., no moodle); all official communication happens by email or in meetings.

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 three factors:

Furthermore, we will consider your participation in the discussion following each talk; it counts towards the grade received for your reviews.

Please note that it is possible that different members of a group are assigned different overall grades, due to the individual grading on the talk and reviews.