Skip to main content

DD1345 Fundamentals of Programming and Computer Science 7.5 credits

A basic course in programming and computer science which emphasises the scientific fundamentals of computing.

The programming language used is Python.

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus DD1345 (Autumn 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • Basic programming in Python
  • Classical data structures: stacks, queues, lists, trees, graphs,hash tables
  • Algorithms and algorithms analysis: searching and sorting,optimization, pattern matching, complexity measures,theoretical limits
  • Abstraction techniques: abstract data types, interfaces
  • Problem solving techniques: recursion, hierarchical decomposition,abstraction
  • Programming and visualization in Matlab

Intended learning outcomes

After the course, the student should be able to

  • use the algorithms and the data structures in the course to dealsuccessfully with practical problems of the types occurring in labsand exams (these are all on the web), 
  • analyse the properties of algorithms in practical problems of thetypes occurring in labs and exams,
  • use Matlab for calculations and visualization of mathematicalproblems

in order to

  • develop computer scientific thinking and thereby efficientlysolve programming problems.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

For single course students: completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B, English corresponding to English A. Furthermore: 7,5 hp in mathematics and 6 hp in computer science or programming techniques.

Recommended prerequisites

High school mathematics (scientific program). Some computer experience (the concepts of operating system and file and experience from one computer application, e.g. word processing).
DD1301 Computer Introduction is recommended.
5B1109/SF1604 Linear Algebra.


No information inserted


Course literature will be announced at least 4 weeks before course start at course home page.

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


  • LAB1 - Laboratory Work, 3.0 credits, grading scale: P, F
  • LAB2 - Laboratory Work, 1.5 credits, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 3.0 credits, grading scale: A, B, C, D, E, FX, 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.

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see:

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 Ann Bengtsson

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 DD1345

Offered by

EECS/Computer Science

Main field of study


Education cycle

First cycle

Add-on studies

DN1240 Numerical Methods, Basic Course II and DD1346 Object-Oriented Program Construction.


Ann Bengtsson, e-post:, telefon: 790 6209

Supplementary information

Only one of the following courses can be counted in your degree: DD100N, DD1310, DD1311, DD1312, DD1314, DD1315, DD1340, DD1341, DD1342, DD1343, DD1345, DN1212, HI1024, HI1026, ID1004, ID1301.