Skip to main content

DD1317 Programming Techniques 7.5 credits

An introductory course in programming technique with Python. It also provides a short module to introduce programming with spreadsheets.

Choose semester and course offering

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 DD1317 (Autumn 2022–) 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.

Generate data with Python on a format that can be read and analysed by means of a spreadsheet program and carry out simple such analyses.

Intended learning outcomes

After passing the course, the student shall be able to

- divide a larger problem in manageable parts

- divide a program

- design programs without code repetitions

- apply control structures

- create flexible applications

- choose appropriate names of identifiers

- design interactive programs

- use and design composite data types (classes)

- transfer data between file and program,

- design and present user friendly output

- review others' programs

- transfer data to and from spreadsheets

- carry out simple analyses of data in spreadsheet format

in order to be able to

  • use programming to solve problems,
  • apply the problem solving methodology also within other fields than programming,
  • discuss software development with experts
  • assess commercial programs
  • independently and in a group be able to solve problems by designing programs of up to 500 lines in a modern programming language.
  • utilise spreadsheets as aids in other courses.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

No information inserted


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


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

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


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 DD1317

Offered by

Main field of study


Education cycle

First cycle

Add-on studies

No information inserted

Supplementary information

Only one of the following courses may be counted 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: