Skip to main content

DD2446 Complexity Theory 6.0 credits

Advanced course in computer science focusing on modern complexity theory.

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus DD2446 (Autumn 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

The fundamental goal of complexity theory is to classify problems according to the amount of resources needed to solve them. Complexity classes are classes of problems that in some respect demand the “same” amount of resources. The most basic resources studied are time and space. A complete problem for a complexity class is a problem that can be viewed as the hardest problem in the class.

Among the topics treated in the course are: Complexity classes: L, NL, P, NP, PSPACE, etc, Reductions and completeness, Cooks' theorem. Approximability, Randomized algorithms and Interactive proofs (IP).

Intended learning outcomes

After a completed course, the student should be able to

  • define basic complexity classes such as P, NP, PSPACE, L, NL and NC,
  • formulate complete problems for each complexity class and show problems complete by reductions,
  • prove basic theorems about complexity measures and be able to reason about complexity theoretic concepts,
  • read research articles within complexity theory to the extent of understanding the main contribution of the paper.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

One of the courses 2D1352/DD1352 Algorithms, Data Structures, and Complexity or 2D1354/DD2354 Algorithms and Complexity or the equivalent.


No information inserted


To be announced at least 4 weeks before course start at course web page. 07/08: S. Arora and B. Barak Computational Complexity: A Modern Approach, Cambridge University Press.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • ÖVN1 - Hand in Task, 6.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see:

Other requirements for final grade

Written exercises (ÖVN1; 6 university credits).

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD2446

Offered by

Main field of study

Computer Science and Engineering, Information Technology, Information and Communication Technology

Education cycle

Second cycle

Add-on studies

Please discuss with the instructor.


Jakob Nordström,

Supplementary information

The course is given in English unless all course participants understand Swedish.

The course is given every second year.