DD1327 Fundamentals of Computer Science 6.0 credits

Grundläggande datalogi

  • Education cycle

    First cycle
  • Main field of study

  • Grading scale

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

Course offerings

Spring 19 grudat19 for programme students

Spring 20 grudat20 for programme students

  • Periods

    Spring 20 P4 (6.0 credits)

  • Application code


  • Start date


  • End date


  • Language of instruction


  • Campus

    KTH Campus

  • Tutoring time


  • Form of study


  • Number of places

    No limitation

  • Course responsible

    Stefan Nilsson <snilsson@kth.se>

  • Target group

    Only CTFYS.

  • Part of programme

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 main content

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.


DD1331 or the equivalent (for example DD1310).

Recommended prerequisites

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


Will be announced on the course web no later than 10 weeks before the start of the course.


  • IND1 - Individual home assignments, 2.0, grading scale: A, B, C, D, E, FX, F
  • LAB1 - Laboratory assignments, 4.0, grading scale: P, F

In this course, the code of honour at the School of Computer Science and Communication is applied, see: http://www.kth.se/en/csc/utbildning/hederskodex

Under special circumstances, other examination formats may be used.

Requirements for final grade

Passed laboratory assignments and individual home assignment.

Offered by

EECS/Computer Science


Stefan Nilsson <snilsson@csc.kth.se>


Stefan Nilsson <snilsson@kth.se>

Supplementary information

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

Add-on studies

For example DD1380 Java programming for Python programmers followed by DD1385 Software engineering and/or DD1390 Internet programming, DD1368 Database technology, DD1377 Low level programming and computer architecture, DD2350 Algorithms, datastructures and complexity.


Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.