Skip to main content
Till KTH:s startsida Till KTH:s startsida

DD1310 Programming Techniques 6.0 credits

A basic course in programming techniques.

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.

Headings with content from the Course syllabus DD1310 (Autumn 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Fundamental computer concepts.

Programming in a modern programming language (Python). Data structures and classes. Problem-solving through division into sub-problems. Program structuring. Several smaller programming assignments as well as one larger, individual programming assignment with strong emphasis on structuring and specification of included modules.

Intended learning outcomes

After passing the course, the student should be able to

  • design programs without code repetitions
  • divide a larger problem in manageable parts
  • divide a program
  • apply control structures
  • design and present user friendly output
  • create flexible applications
  • choose appropriate names of identifiers
  • design interactive programs
  • use and design composite data types and classes
  • transfer data between file and program
  • review others' programs

in order to after the course

  • be able to use programming to solve problems
  • be able to apply the problem solving methodology also in other fields than programming
  • be able to discuss software development with experts
  • be able to assess programs in the magnitude on about five hundred rows of code
  • independently and in a group be able to solve problems by designing programs of up to 500 lines in a modern programming language.

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

High school mathematics (scientific program). Some computer experience (the concepts of operating system and file, and experience from some computer application, e.g. word processing). A basic course in Mathematics e.g. SF1624/SF1625 (can be taken concurrently).


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


  • LAB1 - Laboratory Task, 1.5 credits, grading scale: P, F
  • LAB2 - Laboratory Task, 1.5 credits, grading scale: P, F
  • LAB3 - Laboratory Task, 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.

The course has optional quizzes that will give bonus points to LAB2 if they are carried out within a specified time.
LAB2 is conducted as a computer exam.
LAB3 is an individual programming project.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

An approved grade can be raised via renewed examination within a year from the start of the course offering. The end of this period normally coincides with the start of next year's corresponding course offering.


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 room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Information Technology, Technology

Education cycle

First cycle

Add-on studies

DD1320 Applied Computer Science and DD1380 Java Programming for Python Programmers.


Vahid Mosavat, tel: 790 9276, e-post:

Supplementary information

Different examiners for different course offerings:

CENMI: Emma Riese
COPEN, CMATD and CELTE: Vahid Mosavat

CMAST and CITEH: Daniel Bosk and Olle Bälter.

You can only count one of the following courses in your degree:
DD100N, DD1310-DD1319, DD1331, DD1337, DD1340-DD1343, DD1345, DN1212, HI1024, HI1026, ID1004, ID1018, ID1201, ID1301, SF1511, SF1513, SF1516-SF1519.

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