DD1331 Fundamentals of Programming 5.0 credits

Grundläggande programmering

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

  • Basic computer science concepts
  • The version control system Git
  • Basic programming in Python
  • Abstract data types
  • Classes
  • Recursion, hierarchical decomposition
  • Classical data structures: lists, stacks, queues
  • Classical algorithms for searching and sorting

Several smaller programming assignments as well as a larger individual programming assignment with high requirements of structuring and specification of included modules.

Intended learning outcomes *

Having passed the course, the student should be able to:

  • describe the parts of and the terminology for a computer system at a general level, such as CPU, memory, operating system and user interface
  • retrieve, save, update and document changes in code using a version control system
  • describe the source code of a computer program with correct terminology
  • describe and apply basic data types, classes and type conversions
  • describe, apply and troubleshoot flow control as well as logical and arithmetic expressions
  • describe the scope and extent of a variable
  • graphically describe the connection between variable names, types and data
  • debug short programmes written by others
  • write and troubleshoot longer programmes
  • write a specification for a longer programme
  • use and evaluate good programming practices
  • implement, troubleshoot and with correct terminology describe recursive algorithms
  • combine the embedded functions of the programming language with own functions to solve programming problems

to be able to

  • carry out computations and solve programming problems
  • use KTH's computer systems
  • be prepared for the next course in computer science.

For higher grades, the student should also be able to

  • implement an interactive graphical user interface.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

No information inserted

Recommended prerequisites

No information inserted


No information inserted


Introduction to Programming in Python: An Interdisciplinary Approach av Sedgewick, Wayne, Dondero. Upplaga 1, 2015, ISBN 9780134076430.

Examination and completion

Grading scale *

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

Examination *

  • LAB1 - Laboratory Assignment, 2.0 credits, Grading scale: P, F
  • LAB2 - Laboratory Assignment, 2.0 credits, Grading scale: A, B, C, D, E, FX, F
  • TEN2 - Examination, 1.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.

The examiner will decide, in consultation with KTH's coordinator for disabilities, on possible adapted examination for students with proven disability. The examiner may utilize another examination form 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


Sten Andersson

Stefan Nilsson

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 DD1331

Offered by

EECS/Computer Science

Main field of study *


Education cycle *

First cycle

Add-on studies

No information inserted


Marcus Dicander, e-post: dicander@kth.se

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.

Supplementary information

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