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

DD1326 Applied computer science with didactics and ethics 9.0 credits

In this course, you will broaden your knowledge about algorithms, data structures and programming. There is also a section on computer ethics and a section on computer science education. The programming language Python is used in the course

About course offering

For course offering

Autumn 2024 tildaeh24 programme students

Target group

Only students in CLGYM.

Part of programme

Master of Science in Engineering and in Education, åk 2, TEDA, Mandatory

Master of Science in Engineering and in Education, åk 4, MAKE, Conditionally Elective

Master of Science in Engineering and in Education, åk 5, MAKE, Conditionally Elective


Autumn 2024: P1 (5.0 hp), P2 (2.5 hp)

Spring 2025: P3 (0.5 hp), P4 (1.0 hp)


26 Aug 2024
2 Jun 2025

Pace of study


Form of study

Normal Daytime

Language of instruction


Course location

KTH Campus

Number of places

Places are not limited

Planned modular schedule


For course offering

Autumn 2024 tildaeh24 programme students

Application code



For course offering

Autumn 2024 tildaeh24 programme students


No information inserted

Course coordinator

No information inserted


No information inserted
Headings with content from the Course syllabus DD1326 (Autumn 2022–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

In this course, the students will develop their knowledge of algorithms, data structures and programming. The programming language used in the course is Python.

Algorithms and data structures: A systematic overview of the concepts abstract data types, stacks, queues, lists, trees, searching, sorting and recursion based on the knowledge the students acquired in the course Programming Techniques. Hashing. Priority queues. Search trees. Problem trees. Text searching. Simple syntactical analysis. Algorithm analysis. Cryptography.

Programming: Program quality. Abstraction. Modularisation. Testing. System calls. Standard modules.

Basic ethics: Fundamental ethical concepts, computer ethics.

Computer science education: Learning in computer science. Research on learning in computer science. Constructive alignment. Outcome based teaching and examination. Planning of teaching. Presentation techniques. Tutoring techniques. Methods and tools in computer science teaching.

Intended learning outcomes

After passing the course, the student shall be able to

  • systematically test programs to discover errors
  • use abstraction as a tool to simplify the programming
  • select an appropriate algorithm for a given problem
  • compare algorithms with regard to time and memory usage
  • describe algorithms for searching and sorting and their properties
  • formulate and implement recursive algorithms
  • write a small BNF syntax (less than 10 rules) for a formal language and write a program that examines whether an expression follows a BNF syntax
  • model problems as search problems and implement algorithms for breadth-first search, depth-first search and best-first search
  • describe basic compression algorithms and for which types of compression they are used
  • design an automaton for text search and describe how it is working
  • implement stacks and queues and use these
  • implement insertion, traversal, and search operations for binary search trees and general trees and use these
  • implement hash tables and hash functions and use these
  • use priority queues
  • use simple encryption methods and explain the principles of asymmetric encryption
  • identify problems where the data structures above are useful and design simple algorithms with these
  • analyse and evaluate ethical consequences of computer science applications
  • plan, carry out and evaluate learning activities taking stated intended learning outcomes and computer science education theory into account
  • assess students' abilities, learning and development towards stated intended learning outcomes of computer science courses and in a constructive way communicate the assessment to the students

in order to

  • become a good problem solver using programming
  • be able to use computational methods in application projects
  • acquire sufficient prior knowledge to be able to take advanced courses in computer science.

Literature and preparations

Specific prerequisites

Knowledge and skills in programming, 6 higher education credits, equivalent to completed course DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1331/DD100N/ID1018.

Active participation in a course offering where the final examination is not yet reported in LADOK is considered equivalent to completion of the course.

Registering for a course is counted as active participation.

The term 'final examination' encompasses both the regular examination and the first re-examination.

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


  • DIDS - Seminar assignments, 1.5 credits, grading scale: P, F
  • ETIK - Ethics assignments, 1.5 credits, grading scale: P, F
  • KONT - Partial exams, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • LABD - 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.

For higher grades on KONT, oral examination is used.

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

No information inserted

Supplementary information

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