703145 VU Introduction to Complexity Theory

winter semester 2025/2026 | Last update: 29.08.2025 Place course on memo list
703145
VU Introduction to Complexity Theory
VU 3
5
weekly
annually
English

Graduates understand how to formally measure the time and space usage of computer programs. They are familiar with basic complexity classes (P, NP, coNP, PSPACE, etc.) and how they relate to one another and why. Furthermore, they are aware of some important questions about them that are still open. They know some representative problems for each class and have the ability to argue that some particular problem is an element of a class or is complete for a class.

Computational models; measuring time and space usage of Turing machines; polynomial-time computation (P, NP, coNP); NP-completeness (SAT, 3-SAT, Karp's problems, Cook–Levin Theorem); space complexity and Savitch's theorem; PSPACE, TQBF, the Polynomial Hierarchy, alternation; logarithmic space classes (L and NL); hierarchy theorems; selected advanced topics (e.g. circuit complexity, oracles and relativisation, probabilistic classes, interactive proofs)

Presentation with slides and blackboard. The course closely follows one or two textbooks (see website).
Weekly homework exercises whose solutions are discussed together.

Weighted average of weekly homework submission and a written exam. No repeat exam will be offered.

M. Sipser, Introduction to the Theory of Computation, 2014.
S. Arora & B. Barak, Computational Complexity: A Modern Approach, 2007.
D. C. Kozen, Theory of Computation, 2006.

Must have passed ‘Introduction to Theoretical Computer Science’ (ETI) and ‘Discrete Structures’. Having attended the ‘Logic’ course is recommended, but not required.

In particular, students should have the following skills/knowledge to do well in the lecture:

  • being comfortable with formal mathematical notation, mathematical thinking, etc
  • good familiarity with basic discrete mathematics (knows what a relation is, what a graph colouring is, etc.)
  • familiarity with propositional and first-order logic
  • Turing machines
  • some knowledge of formal languages, automata, regular expressions can be useful.

Allocation of places in courses with a limited number of participants (PS, SE, VU, PJ)

In courses with a limited number of participants, course places are allocated as follows:

1. Students for whom the study duration would be extended due to the postponement are to be given priority.

2. If the criteria in no. 1 do not suffice, first, students for whom this course is part of a compulsory module are to be given priority, and second, students for whom this course is part of an elective module.

3. If the criteria in no. 1 and 2 do not suffice, the available places are drawn by random.

Curriculum BA Computer Science 2019W

see dates
Group 0
Date Time Location
Thu 2025-10-02
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-10-09
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-10-16
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-10-23
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-10-30
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-11-06
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-11-20
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-11-27
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-12-04
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2025-12-11
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2026-01-08
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2026-01-15
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2026-01-22
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2026-01-29
15.30 - 18.00 3W04 3W04 Barrier-free
Thu 2026-02-05
15.00 - 18.00 HS D (Technik) HS D (Technik) Barrier-free exam