Programming Language Features (Seminar)
There are many programming languages to choose from when starting a new project. Every programmer has their own preferences and opinions on the best language for each task. But what makes each language unique, and why should someone choose one over the other? We will explore these questions by interrogating different features of programming languages and how they are implemented.
Topics include:
- Linear Types
- Refinement Types
- GADTs
- Type Classes / Type Traits
- Array Programming
- Logic Programming
- …
The course language will be German or English, depending on the participants.
Entry in the alma-system: Coming soon
Instructors
Marco Tzschentke
ResearcherMarco Tzschentke (Office: Room B211)Klaus Ostermann
HeadKlaus Ostermann
Registration
If you want to participate, please send an e-mail with the following data to marco.tzschentke@uni-tuebingen.de:
- matriculation number
- name
- course of study + degree
- number of your current semester
- your student e-mail address
Please register until to be announced. Please also send an e-mail with your
preferences for the topics to present, see the orga slides (coming soon).
Structure
We will meet weekly on to be announced in room to be announced. Every week
one participant will give a (roughly) 35-min presentation on one of the topics
of this seminar with an ensuing class discussion of about 10 min led by the
speaker.
At the end of the semester, each participant will write a term paper on the topic presented. For the paper, please use the following template:
https://www.acm.org/publications/proceedings-template
We recommend using LaTeX with \documentclass[acmsmall,screen,review]{acmart}.
To get rid of the copyright block on the first page, you can set
\setcopyright{none} in the preamble (i.e., before \begin{document}) You can
also remove the ACM Reference Format block by setting
\settopmatter{printacmref=false} in the preamble. If you want ot get rid of
the author address at the bottom, set \authorsaddresses{} after
\begin{document}.
Other Information
Discussion Language: English or German (depending on participants)\ Credits: 3 ECTS
Requirements
Apart from basic programming skills, it may be helpful to have attended (or attend) the lecture “Programming Languages 1”, but this is not strictly required.
First Meeting
The first meeting will take place on to be announced.