Skip to main content
Till KTH:s startsida

DD232V Algorithms and Complexity 7.5 credits

Information per course offering

Termin

Information for Spring 2027 Start 12 Jan 2027 single courses students

Course location

KTH Campus

Duration
12 Jan 2027 - 31 May 2027
Periods

Spring 2027: P3 (3 hp), P4 (4.5 hp)

Pace of study

25%

Application code

12856

Form of study

Distance Daytime

Language of instruction

English

Course memo
Course memo is not published
Number of places

1 - 5

Target group
Freestandning students
Planned modular schedule
[object Object]
Part of programme
No information inserted

Contact

Examiner
No information inserted
Course coordinator
No information inserted
Teachers
No information inserted

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus DD232V (Spring 2027–)
Headings with content from the Course syllabus DD232V (Spring 2027–) are denoted with an asterisk ( )

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.

Literature and preparations

Specific prerequisites

  • Knowledge of algorithms and data structures, 6 credits, equivalent to completed course DD1320.
  • Knowledge and skills in programming, 6 credits, equivalent to completed course DD100N.
  • Knowledge of linear algebra, 7.5 credits, equivalent to completed course SF1624.
  • Knowledge of one-variable analysis, 7.5 credits, equivalent to completed course SF1625.
  • Knowledge of discrete mathematics, 7.5 credits, equivalent to completed course SF1698.
  • Skills in English equivalent to the upper secondary school course English B/English 6.

Literature

You can find information about course literature either in the course memo for the course offering or in the course room in Canvas.

Examination and completion

Grading scale

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

Examination

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

The mastery tests consist of individual assignments that are submitted in written form and presented orally.

Examiner

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 room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering

Education cycle

Second cycle