DD1345 Fundamentals of Programming and Computer Science 7.5 credits

Grundläggande programmering och datalogi

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

The programming language used is Python.

  • Education cycle

    First cycle
  • Main field of study

  • Grading scale

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

At present this course is not scheduled to be offered.

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

  • 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


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.


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


  • LABA - Laboratory Assignments, 2.0, grading scale: P, F
  • LABB - Laboratory Assignments, 1.0, grading scale: P, F
  • LABC - Laboratory Assignments, 1.5, grading scale: A, B, C, D, E, FX, F
  • TENA - Examination, 3.0, grading scale: A, B, C, D, E, FX, F

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see: http://www.kth.se/csc/student/hederskodex/1.17237?l=en_UK.

Offered by

EECS/Computer Science


Ann Bengtsson, e-post: ann@kth.se, telefon: 790 6209


Ann Bengtsson <ann@kth.se>

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.

Add-on studies

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


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