Type Systems of Programming Languages
Type systems are formal methods to ensure that programs exhibit a desired behavior, with respect to some implicit or explicit specification. They have a broad range of applications in software engineering, language design, security, etc. This seminar focuses on current and fundamental topics of type systems, e.g., dependent types, type inference, type checking techniques, constraint-based type systems, etc.
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.
- Course Type
S2 / 3 CPs
Please sign up via TuCan
Monday, April 20th 2015, 16:15 - 17:45 in S2|02 A213
July ??, 20?? in S2|02 ?? (to be confirmed)
Both papers and talks must be delivered in English
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.
All talks have to be 15 minutes long if given by a single person, and 25 minutes or 35 minutes when given by a group of two or three, respectively. (Each member of the group should have an equal share in it.) 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.
- How to give a good research talk by Simon L Peyton Jones, John Hughes, and John Launchbury
The overall grade for the seminar is determined by three factors: the talk given, the paper handed in, and the reviews made. Furthermore, we will consider your participation in the discussion following each talk; it counts towards the grade received for your reviews. Overall, the three factors are weighted 40 : 40 : 20, respectively. In other words, both the talk and term paper are of equal importance.
Please note that it is possible, due to the fact that each participants talk and reviews are graded individually, that different members of a group are assigned different overall grades.
A review is an assessment of a scientific paper, which is submitted for publication at a journal or conference. Scientific peers rate the paper's quality and thus decide, whether the paper is accepted for publication. Furthermore, peer reviewers provide the paper's author with suggestions on how to improve it. During this seminar we want to introduce you to this aspect of scientific practice, too.
Consequently, every participant has to write two reviews of other students' term papers. All reviews should be constructive and name clearly both positive and negative issues with the paper in question. Each such review should contain the following three sections:
- A short summary of the paper
- Suggestions for the author, regarding both content and presentation
- A list of the major positive and negative issues
There is no page limit for the reviews; however, 500 words is a good guideline for a single review.
- How to review a systems paper by Timothy Roscoe
- How NOT to review a paper: the tools and techniques of the adversarial reviewer by Graham Cormode