185.206 Type Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2018W, VO, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VO Lecture

Aim of course

Students shall get an overview of type systems in programming languages and learn about their pros and cons. Especially the potentialities and limits in the practical use of types shall be shown. The focus is on types on modern object-oriented programming languages.

Subject of course

Meaning of the notion of type in programming languages, classification of programming languages regarding type systems, simple theoretical type models, types in imperative languages (especially Ada), theoretical models of polymorphic type systems and type inference, programming languages with polymorphic type systems, subtyping, genericity, types as partial specifications of object behariour, use of polymorphic type systems in object-oriented programming.

Educational Concept:

"Typesystems" is a lecture in the classic style based on a weekly talk. First we give an overview and introduce some terminology. Then, we (1) discuss practical experiences in subtopics, (2) introduce formal models and (3) show typical applications thereof, leading to new practical experiences. We repeat this cycle several times, thereby increasing the complexity with each iteration. In the last part of the lecture we discuss trends and approaches to address current problems.

Additional information


  • 25h: Weekly lectures
  • 25h: Consolitation of the topics by autonomous research
  • 25h: Preparation for exam and oral exam



Course dates

Fri09:00 - 11:0005.10.2018 - 25.01.2019EI 3A Hörsaal Lecture
Type Systems - Single appointments
Fri05.10.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri12.10.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri19.10.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri09.11.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri16.11.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri23.11.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri30.11.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri07.12.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri14.12.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri21.12.201809:00 - 11:00EI 3A Hörsaal Lecture
Fri11.01.201909:00 - 11:00EI 3A Hörsaal Lecture
Fri18.01.201909:00 - 11:00EI 3A Hörsaal Lecture
Fri25.01.201909:00 - 11:00EI 3A Hörsaal Lecture

Examination modalities

By interview.

Interviews can be taken each Monday (11 to 12, except during holydays), at the last course date and by negotiation.

Course registration

Begin End Deregistration end
01.10.2018 00:00 20.10.2018 23:59



Find the script and the slides (all in German) in the Course Material section of this course.

Previous knowledge

Good practical programming capabilities in strongly typed languages as well as knowledge about the static use of types are required.