DD2352 Algorithms and Complexity 7.5 credits

Algoritmer och komplexitet

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

  • Educational level

    Second cycle
  • Academic level (A-D)

  • Subject area

    Computer Science and Engineering
  • Grade scale

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

Course offerings

Spring 17 SAP for single courses students

  • Periods

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

  • Application code


  • Start date

    2017 week: 3

  • End date

    2017 week: 23

  • Language of instruction


  • Campus

    KTH Campus

  • Number of lectures

    15 (preliminary)

  • Number of exercises

    9 (preliminary)

  • Tutoring time


  • Form of study


  • Number of places

    No limitation

  • Course responsible

    Johan Karlander <karlan@kth.se>

  • Target group

    Single course students.

Spring 18 algokomp18 for programme students

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