Skip to main content

DD2325 Applied Programming and Computer Science 7.5 credits

An introductory course in computer science and programming practise.

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Autumn 2023 aprog23 programme students

Application code


Headings with content from the Course syllabus DD2325 (Autumn 2023–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Programming methodology in Python, containing aspects as programme quality, testing and troubleshooting strategies. Examples of both imperative and object-oriented programming are included, as well as programming with recursion. Algorithms that handle searching and sorting related to different data structures. Examples of treated data structures are stacks, queues, trees, hash tables and graphs. Algorithms for compression. Applications in computer science and numerical analysis.

Intended learning outcomes

After passing the course, the student should be able to

  • write structured programmes in Python
  • use classes and objects in program design
  • troubleshoot programs systematically
  • use abstraction as a tool to simplify the programming
  • select an appropriate algorithm for a given problem
  • compare algorithms with regard to time and memory usage
  • describe algorithms for searching and sorting
  • design and explain recursive algorithms
  • describe different data structures in problem-solving contexts, such as stack, queue, tree, hash table, priority queue and graph
  • implement and use different data structures in problem-solving contexts such as stack, queue, tree and hash table
  • model problems as search problems and implement algorithms for graph search, such as breadth-first search and depth-first search

in order to master problem solving with programming, be able to use computational methods in applied contexts and acquire sufficient prior knowledge to be able to take advanced courses in computer science.

Literature and preparations

Specific prerequisites

  • Knowledge in basic mathematics, 15 higher education credits.
  • Knowledge and skills in programming, 6 higher education credits, equivalent to completed course DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1331/DD100N/ID1018.
  • The upper secondary course English B/6.

Recommended prerequisites

Knowledge of programming.


No information inserted


No information inserted

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


  • HEM1 - Home work, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABB - Laboratory work, 4.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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


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

Add-on studies

Advanced courses in computer science DD2350/DD2352, DD1418, DD1334, DD1420/DD2421, DH2323. Furthermore DD1380 followed by DD1385 or DD1389.


Christian Lindeborg (

Transitional regulations

HEM1 replaces TEN1 for students who have not passed this module.

Supplementary information

Only one of the following courses can be counted in your degree: DD2325, DD1320-DD1328, DD1338-DD1345, EL2310, HI1201, ID1020, ID1021.

The course will not be given in 2024/2025. It is not decided when it will be given next.

In this course, the EECS code of honor applies, see: