Skip to main content

DD2354 Algorithms and Complexity 6.0 credits

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus DD2354 (Autumn 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

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.

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,

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.

Literature and preparations

Specific prerequisites

Single course students: 90 university credits including 45 university credits in Mathematics or Information Technology. English B, or equivalent.

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

To be announced at least 4 weeks before course start at course web page.

Examination and completion

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

Grading scale

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

Examination

  • MAS1 - Test, 1.5 credits, grading scale: A, B, C, D, E, FX, F
  • MAS2 - 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

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.

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.

Other requirements for final grade

Test (MAS1; 1,5 university credits and MAS2; 1,5 university credits), examination (TEN1; 3 university credits).

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

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, Information Technology, Information and Communication Technology

Education cycle

Second cycle

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.

Contact

Johan Karlander, tel: 790 6340, e-post: johank@nada.kth.se

Supplementary information

This course has been replaced by DD2352.

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