Type Systems (TS)

Type Systems is an integrated lecture, that introduces the foundations of type systems. The focus of the course on theory, i.e., we concentrate mostly on how to build type systems, what they can do, and how to prove their correctness. We also look at difficulties that can arise with the implementation of some kinds of type systems and how to avoid them. The implementation is, however, not in our focus.

Contents:

Type systems are an efficient method to ensure correct program behaviour before the program is even started. They come in various forms as standard build in methods of programming languages or specialised tools for certain needs.

Preconditions:

Knowledge of the foundations of computer science and mathematics corresponding to the first four terms of the Bachelor in computer science. In particular, basic knowledge of logic, formal languages and calculi.

Official Course Description:

Type systems are an integral component of many programming languages and an important technique in verification. This course provides an introduction to type systems. It discusses basic concepts, advantages, and limitations of type systems.

Turnus:

The course is taught in the winter.

Language:

The course is taught in English.

All information about the course can be found in Moodle (Lernprotal Informatik, non-mandatory).