Skip to main content
Till KTH:s startsida

DD2352 Algorithms and Complexity 7.5 credits

Course memo Spring 2026-10205...

Version 1 – 06/29/2026, 11:49:52 AM

Course offering

Spring 2026-10205 (Start date 13 Jan 2026, English)
algokomp26 (Start date 13 Jan 2026, English)
Spring 2026-11102 (Start date 13 Jan 2026, English)
algokomp26 (Start date 13 Jan 2026, English)

Language Of Instruction

English

Offered By

EECS/Theoretical Computer Science

Course memo Spring 2026

Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Spring 2024

Content and learning outcomes

Course contents

Design principles of algorithms: Divide and conquer, greedy algorithms, dynamic programming. Algorithm analysis. Probabilistic algorithms. Approximation algorithms. Selected applications in sets, graphs, arithmetic and geometry. Implementation of algorithms.

Computability and complexity: Reductions. The complexity classes P (polynomial time), NP (non-deterministic polynomial time), PSPACE (polynomial space) and BPP (probabilistic polynomial time with bounded error). NP completeness and NP hardness reductions. Undecidable problems.

Intended learning outcomes

After passing the course, the student should be able to

  • develop and implement algorithms and reductions, and analyse them with respect to correctness and efficiency
  • compare alternative algorithms considering efficiency
  • define and explain central concepts such as P, NP, NP-completeness and undecidability
  • compare problems with respect to complexity by means of reductions

in order to

  • independently be able to design computer programs that use time and memory efficiently and thereby can contribute to economically and environmentally sustainable development
  • in professional life identify problems that are unrealistically resource demanding or not possible to solve on a computer.

Preparations before course start

Recommended prerequisites

Knowledge of discrete mathematics is necessary. A student who, at the beginning of the course, has not completed 7.5 higher education credits of discrete mathematics, equivalent to SF1610/SF1662/SF1679/SF1688, must take one of these courses in parallel with DD2352, see Additional Regulations in the course syllabus.

Knowledge of probability theory equvalent to for example SF1901 Probability Theory and Statistics is recommended but could be learnt during the course.

Literature

Kleinberg, Tardos; "Algorithm Design", Pearson Addison-Wesley.

Examination and completion

Grading scale

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

Examination

  • MAS2 - Mastery Test, 1.5 credits, grading scale: A, B, C, D, E, FX, F
  • MAS1 - Mastery Test, 1.5 credits, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LAB1 - Laboratory Work, 1.5 credits, grading scale: P, 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.

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

Labs and mastery tests are examined both orally and in writing. The exam is written.

Grading criteria/assessment criteria

The grading criteria for 2026 are documented here.

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

Additional regulations

A student who, at the beginning of the course, has not completed 7.5 higher education credits of discrete mathematics, equivalent to SF1610/SF1662/SF1679/SF1688, must take one of these courses in parallel with DD2352.

Round Facts

Start date

13 Jan 2026

Course offering

  • Spring 2026-10205
  • algokomp26 Spring 2026-11101
  • Spring 2026-11102
  • algokomp26 Spring 2026-60319

Language Of Instruction

English

Offered By

EECS/Theoretical Computer Science

Contacts

Course Coordinator

Teachers

Examiner