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)
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.
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.
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.