Skip to main content

DD1321 Applied Programming and Computer Science 9.0 credits

This is a course in applied programming and computer science.

Choose semester and course offering

Choose semester and course offering to see information from the correct course syllabus and course offering.

Headings with content from the Course syllabus DD1321 (Autumn 2021–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Programming in Python. Program quality. Abstraction. Modularisation. Testing and troubleshooting. Version management. System calls. Library routines. Elementary web programming.

A systematic presentation of the concepts abstract data types, stacks, queues, lists, trees, search, sorting and recursion. Hashing. Priority queues. Search trees. Problem trees. Text searching. Algorithm analysis.

Intended learning outcomes

After passing the course, the student shall be able to

  • write structured programs of a few pages in the programming language Python
  • troubleshoot programs systematically
  • write automatic test programs
  • use abstraction as a tool to simplify the programming
  • use prototype programming in Python
  • write independent components
  • use a web API (programming interface)
  • select an appropriate algorithm for a given problem
  • compare algorithms with regard to time and memory usage
  • describe algorithms for searching and sorting and their properties
  • formulate and implement recursive algorithms
  • model problems as search problems and implement algorithms for breadth-first search, depth-first search and best-first search
  • describe basic compression algorithms and for which types of compression they are used
  • implement stacks and queues and use these
  • implement insertion, traversal, and search operations for binary search trees and general trees and use these
  • implement hash tables and hash functions and use these
  • use priority queues
  • identify problems where the data structures above are useful and design simple algorithms with these

in order to

  • become a good problem solver using programming
  • be able to use computational methods in application projects
  • be able to test computer systems
  • acquire sufficient prior knowledge to be able to take advanced courses in computer science.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

Knowledge and skills in basic programming, 3 higher education credits, equivalent to completed course SF1511/SF1516/SF1518/SF1519/SF1521.

Active participation in a course offering where the final examination is not yet reported in LADOK is considered equivalent to completion of the course.

Registering for a course is counted as active participation.

The term 'final examination' encompasses both the regular examination and the first re-examination.

Recommended prerequisites

No information inserted


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


  • KONT - Partial exams, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABD - Programming assignments, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABP - Programming assignments, 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.

A computer-based exam is used for higher grades on KONT.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Alexander Baltatzis

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 web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD1321

Offered by

EECS/Computer Science

Main field of study


Education cycle

First cycle

Add-on studies

Second courses in computer science: DD2350, DD1418, DD1334, DD1377, DD1420/DD2421, DH2323. In addition DD1380 followed by DD1385 or DD1389.


Alexander Baltatzis, tel: 790 6209, e-post:

Transitional regulations

TEN1 has been replaced by KONT.

Supplementary information

You can only count one of the following courses in your exam: DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.

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