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.

2022W, VO, 2.0h, 3.0EC


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

Learning outcomes

After successful completion of the course, students are able to

  • list reasons for the use of types in programming languages,
  • describe different kinds of types in programming languages,
  • roughly outline formal rule systems used by compilers for type checking,
  • compare different kinds of types concerning their most important prospects and limits.

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
  • current trends


Teaching methods

"Typesystems" is a lecture in a classic style based on a weekly talk, mixed up by activities like interposed questions and brief discussions. After an overview and the introduction of some terminology we repeatedly examine (1) practical experiences, (2) formal models based on them and (3) typical applications thereof for type checking, leading to new practical experiences. Students shall prepare themselves for the talks and the final exam also by autonomous research (supported by the script).

Mode of examination


Additional information

Lectures are in presence if Corona and general regulations allow that. Live streams and recordings of these lectures are not possible for technical reasons. Instead, videos of last year's lectures (same contents, but possibility for interaction) are proviede through TUWEL. For online lectures we use Zoom. If general regulations do not allow us to have lectures in presence in a reasonable manner, lectures will be held in Zoom. In this case you will find access data to such Zoom meetings (as well as a script and slides) in TUWEL. Please register for this course early enough in TISS because you will get access to TUWEL only after registration.


  • 25h: Participation in lectures (in presence or online)
  • 25h: Consolitation of the topics by autonomous research
  • 25h: Preparation for exam and oral exam



Course dates

Fri11:00 - 13:0007.10.2022 - 20.01.2023EI 3A Hörsaal Lecture
Type Systems - Single appointments
Fri07.10.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri14.10.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri21.10.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri28.10.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri04.11.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri11.11.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri18.11.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri25.11.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri02.12.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri09.12.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri16.12.202211:00 - 13:00EI 3A Hörsaal Lecture
Fri13.01.202311:00 - 13:00EI 3A Hörsaal Lecture
Fri20.01.202311:00 - 13:00EI 3A Hörsaal Lecture

Examination modalities

An oral exam will check the learning outcomes given above. Exams will occur in presence in the office of the lecturer provided that this is allowed by general regulations in a useful manner. Otherwise exams are online using Zoom. Appointment and registration are arranged by mail. In general, there will be exams each Monday (except during holidays) from 10 a.m. to 11 a.m., but can also be arranged at other times. Registrations must be made at least 14 days before the exams. It is possible to unregister until the exam starts. For online exams there are additional conditions:

  • A link to the Zoom-Meeting used for the exam will be submitted by mail when registering for the exam. You need a computer (e.g., laptop) with microphone and video cam. Please take care that your browser (Chrome only) or the Zoom software has the right to access microphone and cam. Enter the Zoom session at the time the exam is scheduled for.
  • Use a room for the exam where you are undisturbed. Close to your working place there can only be objects that are allowed to be in front of you also in usual oral exams (e.g., ID card, white paper, pen, water glas) as well as technical equipment used for the exam, but nothing else (especially no cell phone and text book). Further away from you there can be anything. However, there must not be other persons in the room.
  • If you want to invite another person as a witness to the exam, you can give your access data for the Zoom meeting to them. This person shall enter the meeting at about the same time as you. Please inform the lecturer at the begin of the exam about the invitation of a witness in order to ensure that nobody enters the session during the exam. Examinee and lecturer can each invite at most one witness to avoid unnecessary complexity. Microphones and cams of witnesses shall be switched off.
  • At the begin of the exam you are asked to show your ID card (preferably Studierendenausweis) and sometimes also your room (by moving around your cam or laptop).
  • You have to answer questions. However, we have to expect that the audio and video quality is far away from being perfect. The gesture may not be identifiable. Therefore, it may be necessary to repeat questions and answers as well as to ask additional questions. Please be prepared that the exam may last longer than expected for such reasons.
  • If a question was not understandable because of bad audio or video quality, please ask to repeat it. If the connection is lost, please enter the Zoom meeting again using the same access data as before. If that does not work, please contact the lecturer by mail. In that case the exam will be continued at a later time according to new arrangements.
  • There are no recordings of video or audio. If you want to record the exam, it is necessary to have a written bilateral commitment about that in advance (by mail). Otherwise recordings are prohibited.

Course registration

Begin End Deregistration end
19.09.2022 00:00 14.10.2022 23:59


Study CodeObligationSemesterPrecon.Info
066 504 Master programme Embedded Systems Not specified
066 931 Logic and Computation Mandatory elective
066 937 Software Engineering & Internet Computing Mandatory elective


Find the script and the slides (all in German) in TUWEL.

Previous knowledge

Students are expected to have good practical programming capabilities in strongly typed object-oriented (and in the ideal case also functional) programming languages; this implies experience in the static use of types.