Skip to main content

DD1327 Fundamentals of Computer Science 6.0 credits

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 DD1327 (Autumn 2021–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Algorithms and data structures: A systematic overview of the concepts abstract data types, stacks, queues, lists, trees, searching, sorting and recursion based on the knowledge the students acquired in the course Fundamentals of programming. Hashing, priority queues, search trees, problem trees, text searching, simple syntax analysis, encryption and automata. Algorithm analysis.

Programming: Software development methodology, programme quality, abstraction, modularisation, testing, system calls, standard libraries.

Intended learning outcomes

After completion of the course, the student should be able to:

  • systematically test programs to discover errors,
  • use abstraction as a tool to simplify the programming,
  • choose appropriate algorithm to a given problem,
  • describe different algorithms for searching, sorting and encryption as well as their properties,
  • model problems using graphs and implement algorithms for searching in graphs,
  • implement and use basic data structures,
  • design and analyse simple algorithms with data structures,

in order to:

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

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

DD1331 or the equivalent (for example DD1310).

Recommended prerequisites

DD1331 Fundamentals of Programming and SF1672 Linear algebra, or the equivalent. 


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


  • IND1 - Individual home assignments, 2.0 credits, grading scale: A, B, C, D, E, FX, F
  • LAB1 - Laboratory assignments, 4.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.

Other requirements for final grade

Passed laboratory assignments and individual home assignment.

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 Stefan Nilsson

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 DD1327

Offered by

EECS/Computer Science

Main field of study


Education cycle

First cycle

Add-on studies

For example DD1380 Java programming for Python programmers followed by DD1385 Software engineering and/or DD1386 Internet programming, DD1368 Database technology, DD1418 Language engineering with introduction to machine learning, DD2350 Algorithms, datastructures and complexity.


Stefan Nilsson

Supplementary information

Only one of the following courses can be counted in your degree: DD1320, DD1321, DD1325, DD1326, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.

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