DD2352 Algorithms and Complexity 7.5 credits

Algoritmer och komplexitet

Second course in computer science focusing on algorithms and complexity, more theoretical than DD1352.

  • Education cycle

    Second cycle
  • Main field of study

    Computer Science and Engineering
  • Grading scale

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

Course offerings

Spring 19 algkomp19 for programme students

Spring 18 algokomp18 for Study Abroad Programme (SAP)

  • Periods

    Spring 18 P3 (4.5 credits), P4 (3.0 credits)

  • Application code


  • Start date


  • End date


  • Language of instruction


  • Campus

    KTH Campus

  • Tutoring time


  • Form of study


  • Number of places

    No limitation

  • Course responsible

    Johan Karlander <karlan@kth.se>

  • Target group

    Only open för students within Study Abroad Programme (SAP)

Intended learning outcomes

The goals of the course are to give the students

  • the fundamental skills needed to develop algorithms using data structures and analyze their correctness and efficiency,
  • an introduction to complexity theory,
  • explain how one can handle problems with high complexity

so that they will be able to

  • design programs that use computer resources efficiently,
  • realize that there are problems that are impractical or even impossible to solve by a computer.

Course main content

Principles for construction of algorithms: Decomposition, greedy algorithms, dynamic programming. Algorithm analysis. Probalistic algorithms. Approximation. Selected applications to sets, graphs, arithmetic, and geometry.

Computability and complexity: Reduction. Complexity classes P (polynomial time), NP (non-deterministic polynomial time), and NC (efficiently parallelizable problems). NP-complete problems. Undecidable problems.


For single course students:

SF1604 Linear algebra, SF1625 Calculus in one variable, DD1337 Programming, DD1338 Algorithms and Data Structures, SF1630 Discrete Mathematics and SF1901 Probability Theory and Statistics or corresponding courses.

Recommended prerequisites

The courses DD1344/DD1345 Fundamentals of Computer Science (alternative DD1320/DD1321 Applied Computer Science), SF2736/SF1631/SF1631 Discrete Mathematics and SF1901 Probability Theory and Statistics or corresponding.


Kurslitteratur meddelas senast 4 veckor innan kursstart på kursens hemsida.


  • LAB1 - Laboratory Work, 1.5, grading scale: P, F
  • MAS1 - Test, 1.5, grading scale: A, B, C, D, E, FX, F
  • MAS2 - Test, 1.5, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 3.0, grading scale: A, B, C, D, E, FX, F

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see: http://www.kth.se/csc/student/hederskodex/1.17237?l=en_UK.

Offered by

CSC/Theoretical Computer Science


Johan Karlander, e-post: karlan@kth.se


Johan Karlander <karlan@kth.se>

Supplementary information

This course has replaced DD2354 Algorithms and Complexity.

Only one of the following courses can be counted in your degree: 2D1352/DD1352, 2D1354/DD2354, 2D1353, DD2352.

Add-on studies

DD2440 Advanced Algorithms, DD2441 Seminars in Theoretical Computer Science, DD2446 Complexity Theory, DD2450 Algorithmic Bioinformatics, and DD2458 Problem Solving and Programming under Pressure.


Course syllabus valid from: Autumn 2016.
Examination information valid from: Spring 2012.