Seminar: Principles of Programming Languages
Responsible: | Prof. Dr. Peter Thiemann | |
Assistance: | Hannes Saffrich | |
Time and Place: | Di 14:00-16:00, SR 00-031, Geb. 051 |
Schedule
Date | Time | Location | Subject |
---|---|---|---|
2023-04-24 Mo | 15:00 - 17:00 | Zoom | First meeting |
2023-05-09 Tu | 14:00 - 16:00 | Geb. 051, SR 00 031 | Regular Meeting (Chapter 3 and 5) |
2023-05-16 Tu | 14:00 - 16:00 | Geb. 051, SR 00 031 | Regular Meeting (Chapter 3 and 5) |
2023-05-23 Tu | 14:00 - 16:00 | Geb. 051, SR 00 031 | Regular Meeting (Chapter 8 and 9) |
2023-06-06 Tu | 14:00 - 16:00 | Geb. 051, SR 00 031 | Regular Meeting (Python STLC Interpreter) |
2023-06-13 Tu | 14:00 - 16:00 | Geb. 051, SR 00 031 | Regular Meeting |
2023-07-17 Mo | 23:55 | online | Submission deadline for slides (draft) |
2023-07-25 Tu | 10:00 - 18:00 | Geb. 101, 01-009/13 | Presentations |
2023-07-26 We | 10:00 - 18:00 | Geb. 101, 01-009/13 | Presentations |
2023-07-27 Th | 23:55 | online | Submission deadline for slides (final) |
2023-09-03 Su | 23:55 | online | Submission deadline for report |
Presentations
Date | Topic |
---|---|
2023-07-25 | Featherweight Go |
2023-07-25 | Separation Logic for Sequential Programs |
2023-07-25 | Streaming support for Java RMI in distributed environments |
2023-07-25 | Simplicitly: foundations and applications of implicit function types |
2023-07-25 | Substructural Types |
2023-07-26 | Type Inference with Constrained Types |
2023-07-26 | Back to futures |
2023-07-26 | Hashing Modulo Alpha -Equivalence |
2023-07-26 | Many more predecessors: A representation workout |
2023-07-26 | Refined Criteria for Gradual Typing |
Prüfungsleistung
- Attendance and active participation in the regular meetings and presentations of all participants
- Preparation and presentation of a 30-minute talk about the topic of the assigned paper
- Preparation of a written report of the topic of the assigned paper as described in the Procedure section
- Submission of the report and presentation slides before the respective deadlines
Procedure
A seminar concentrates on scientific results, but it also teaches competences required for scientific work. In particular
- literature research
- reading and understanding of scientific texts
- presentation skills
- creating a written report
This seminar will proceed as followed:
-
Topic Selection and First Meeting. We have prepared a list of papers which are suitable for presentation in the seminar. The papers are annotated with a topic (Agda, Haskell, Types, Lambda, Semantics, Scala) and our rough estimate of the difficulty (*-***). Alternatively, you may also suggest a topic backed by papers not from the list up to approval by the organizers.
We invite prospective participants to get in touch with the seminar organizers (email to both) as soon as they are prepared to commit to a topic. We will assign seminar slots on a first-come-first-serve basis. Remaining slots will be assigned automatically by HisInOne.
The first meeting is dedicated to discuss administrative matters. It will also be possible to ask questions about specific papers.
-
Regular Meetings. In the regular meetings we will introduce and discuss the foundations of programming language theory on which the papers build on. In particular, we will discuss how to model programming languages mathematically by defining syntax, semantics and typing, and how to prove properties about them.
Before the meetings, we may assign you reading material from an introductory textbook, which will then be discussed in-depth during the meeting. The reading assignments can be found in the Schedule.
- Presentation. Presentations will take place at the end of the semester as a block seminar. Draft slides are due one week before the presentation and are subject to peer review. Final slides are due after the presentation. A tutorial video about scientific presentations can be found in the Links section.
- Report.
A written report needs to be submitted at the end of the semester, which satisfies the following criteria:
- It must be at most 10 pages long.
- It must be prepared with LaTeX. A good introduction to LaTeX may be found in the documentation of Overleaf.
-
It must use the LaTeX document class
llncs.cls
according to the template document which is available on the Springer web site under Information for Authors. The above website contains a useful rubric "Author Guidelines" with further information. Do not change the formatting parameters of llncs.cls in any way. -
It must use
bibtex
for references. Many bibtex references can be obtained from the DBLP computer science bibliography. - It should adhere to our style guide.