Programming 1 and 2 and Mathematics for Computer Scientists 1 and 2 or comparable courses in mathematics are recommended.
Successful completion of the exercises entitles the student to take the exam.
Will be determined from performance in exams, exercises and practical tasks. The exact modalities will be announced at the beginning of the module.
4 h lectures + 2 h tutorial = 6 h (weekly)
90 h of classes + 180 h private study = 270 h (= 9 ECTS)
Students know various models of computation and their relative strengths and abilities.
For selected problems they can show, whether they are solvable in a certain model of computation or not.
They understand the formal notion of computability as well as non-computability.
They can reduce problems to each other.
They are familiar with basics of bounding resources (time, space) for computations and the resulting complexity theory.
The language classes of the Chomsky hierarchy and their various definitions via grammars and automata; closure properties; classification of particular languages ("pumping lemmas");
determinism and non-determinism;
Turing machines and equivalent models of general computability (e.g. μ-recursive function, random acces machins), reducibility, decidability, undecidability;
the complexity measures time and space; the complexity classes P and NP;
the basics of the theory of NP-completeness.
Will be announced before the start of the course on the course page on the Internet.
This module is identical in content to the German-language module Grundzüge der Theoretischen Informatik.
This module is part of the following study programmes: