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

DD100N Programming Techniques, Web Course 6.0 credits

This course is offered in Swedish. This introductory Python programming course is a distance learning course with predetermined deadlines for code assignments and quizzes, each week or bi-weekly. The course material consists of texts, code examples, and exercises and is done individually. The final oral presentation of the larger code project (LAB3) is mandatory. It is booked by the students and will take place during the last week of the course (one hour/student, via Zoom, weekdays during the day). Otherwise, the course has no scheduled sessions, and the students can work with the material when it suits them. The course is given for independent students (i.e. students who are not admitted to a program).

Tutoring is provided online only. Questions about admission and prerequisites should be sent to (KTH's Central Admissions), and other questions to All admission to the course is made via For questions about registration, re-registration, and termination of studies, contact the Student Office.

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.


For course offering

Autumn 2024 Start 26 Aug 2024 single courses students

Application code


Headings with content from the Course syllabus DD100N (Spring 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. Use of simple graphical routines (for grade A). 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

The upper secondary course Mathematics 4 or Mathematics D.

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) e. g. the course Preparation Course in Programming and Computer Science.


You need to have access to a computer with an internet connection and the ability to install Python. You also need to have equipment to be able to conduct a video call (microphone, speakers/headphones and camera).


All course material will be available in Canvas, no additional course literature is needed.

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

LAB1 and LAB2 have to be passed in order for the student to present any part of LAB3.

Opportunity to complete the requirements via supplementary examination

If the submissions are not approved (in LAB1 and LAB2), these can be supplemented and submitted again.

The grade Fx can be supplemented to E/pass, for the component LAB3.

Opportunity to raise an approved grade via renewed examination

It is not possible to add an approved assignment on part LAB3 (grade E or higher) after the course offering has ended.


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


Education cycle

First cycle

Add-on studies

Recommended: DD1320 Applied Computer Science and DD1380 Java Programming for Python Programmers (only open to program students).



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.

If you have questions regarding admission, prerequsites or wait list, please contact