Skip to main content
Till KTH:s startsida

Study year 1

The following courses are part of study year one.

The course application codes and study periods are valid for the academic year 2025/2026. For other academic years, different application codes and study periods may apply

General Courses

Students who in a previous degree have read a course corresponding to DD2380, DD2395, IK2218 or DD2440 may apply to read a replacement course instead. The application is submitted to the master coordinator who, after reviewing the previously read course, helps the student to choose an appropriate replacement course. The course should be at least 6 credits, advanced level and broad in computer science. It must not be included in the student's track and the subject matter may not be close to any of the other compulsory courses.

The choice of replacement course must be approved by the programme director.

Students at KTH:

- from CINTE who have read any of the following courses can apply to read a replacement course: IK1203 Network and Communication, ID1214 Artificial Intelligence and Applications, IV1013 Introduction to Computer Security, IK2206 Internet Security and Privacy. Contact the master coordinator according to the instructions above.

- from CDATE, who started 2011 or earlier, have to take the mandatory course ID2200 Operating System, 6 credits, in the master's programme.

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2395 Computer Security503016.0 credits6.0
IK2218 Protocols and Principles of the Internet503046.0 credits6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists503056.0 credits1.54.5
DD2440 Advanced Algorithms503036.0 credits1.54.5
DD2300 Program Integrating Course in Computer ScienceOne credit each academic year503022.0 credits0.20.30.20.3
DD2380 Artificial Intelligence503066.0 credits6.0

Specialisations

Track, Cognitive Systems (CSCS)

Courses (CSCS)

Prerequisites:
SF1626
Calculus in Several Variable, 7,5 credits (or equivalent).

DD2421 Machine Learning, can not be included in the track if DD1420 Foundations of Machine Learning, has been taken before. In that case, the DD2421 must be replaced with a conditionally elective course within the track.

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2421 Machine Learning602427.5 credits7.5

One of the subtracks must be taken.

Subtrack 1: Vision and Robotics

Mandatory course:

  • DD2424 Deep Learning in Data Science

At least one must be taken:

  • DD2410 Introduction to Robotics
  • DD2419 Project Course in Robotics and Autonomous Systems.

At least one must be taken:

  • DD2423 Image Analysis and Computer Vision 
  • DD2413 Social Robotics.

 

Subtrack 2: Conversational System

Mandatory courses:

  • DD2417 Language Engineering
  • DT2151 Project in Conversational Systems

At least one must be taken:

  • DT2112 Speech Technology
  • DT2119 Speech and Speaker Recognition.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DT2112 Speech TechnologyConditionally elective for the subtrack Conversational systems602487.5 credits7.5
DD2419 Project Course in Robotics and Autonomous SystemsConditionally elective for the subtrack Vision and Robotics603189.0 credits4.54.5
DD2417 Language EngineeringMandatory for the subtrack Conversational systems602467.5 credits7.5
DD2424 Deep Learning in Data ScienceMandatory for subtrack Vision and Robotics602287.5 credits7.5
DT2119 Speech and Speaker RecognitionConditionally elective for the subtrack Conversational systems602527.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2438 Artificial Intelligence and Multi Agent Systems6024715.0 credits7.08.0
DD2477 Search Engines and Information Retrieval Systems602517.5 credits4.53.0

Track, Data Science (CSDA)

Courses (CSDA)

Prerequisites: 
SF1626 Calculus in Several Variable, 7,5 credits (or equivalent).

Information:
DD2421
 Machine Learning, can not be included in the track if DD1420 Foundations of Machine Learning, has been taken before. In that case, the DD2421 must be replaced with a conditionally elective course within the track.

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2421 Machine Learning602427.5 credits7.5

Mandatory courses for both subtracks:

DD2421 Machine Learning,
DD2430 Project Course in Data Science.

One of the subtracks must be chosen:

Subtrack 1: Machine Learning

Mandatory course:
- DD2424 Deep Learning in Data Science

One of these courses must be taken:
- DD2434 Machine Learning Advanced Course
- DD2437 Artificial Neural Networks and Deep Architectures
DD2420 Probabilistic Graphical Models.

Subtrack 2: Natural Language Processing

Mandatory courses:
DD2477 Search Engines and Information Retrieval Systems
DD2417 Language Engineering.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2420 Probabilistic Graphical ModelsConditionally elective for the subtrack Machine learning602717.5 credits7.5
DD2477 Search Engines and Information Retrieval SystemsCompulsory for the subtrack Natural Language Processing602517.5 credits4.53.0
DD2417 Language EngineeringCompulsory for the subtrack Natural Language Processing602467.5 credits7.5
DD2424 Deep Learning in Data ScienceCompulsory for the subtrack Machine Learning602287.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DH2321 Information Visualization602316.0 credits6.0
DT2112 Speech Technology602487.5 credits7.5
DD2438 Artificial Intelligence and Multi Agent Systems6024715.0 credits7.08.0
DT2119 Speech and Speaker Recognition602527.5 credits7.5

Track, Interaction Design (CSID)

Courses (CSID)

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DH2628 Interaction Design Methods602617.5 credits7.5

At least 13,5 credits (either 7,5+7,5 credits, or 7,5+6+3 credits, or 9+6 hp, or 6+6+3 hp) must be taken:

DH2400 Physical Interaction Design and Realization
- DH2632 Human-Computer Interaction Research Seminars
DH2408 Evaluation Methods in Human-Computer Interaction
- DM2586 Generative AI for Media Technology and Interaction Design
- DH2670 Haptics, Tactile and Tangible Interaction
DT2140 Multimodal Interaction and Interfaces.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DM2586 Generative AI for Media Technology and Interaction Design602957.5 credits7.5
DH2632 Human-Computer Interaction, Research Seminars602623.0 credits1.51.5
DH2400 Physical Interaction Design and Realization602637.5 credits7.5
DH2670 Haptics, Tactile and Tangible Interaction603007.5 credits7.5

Track, Scientific Computing (CSSC)

Courses (CSSC)

 

One of the subtracks must be taken.

Subtrack 1: High Performance Computing

Mandatory courses within the subtrack:

DD2358 Introduction to High Performance Computing
DD2356 Methods in High Performance Computing
DD2360 Applied GPU Programming.

One of the courses should be taken:

DD2443 Parallel and Distributed Computing
- DD2367 Quantum Computing for Computer Scientists
DD2375 Project Course in High-Performance Computing.


Subtrack 
2: Computational Science 

Mandatory courses within the subtrack:

DD2365 Advanced Computation in Fluid Mechanics
DD2363 Methods in Scientific Computing
DD2444 Project Course in Scientific Computing.

One of the courses should be taken:

- DD2370 Computational Methods for Electromagnetics
- DD2360 Applied GPU Programming
DD2257 Visualization.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2358 Introduction to High Performance ComputingMandatory for the subtrack High Performance Computing602447.5 credits7.5
DD2363 Methods in Scientific ComputingMandatory for the subtrack Computational Science602387.5 credits7.5
DD2356 Methods in High Performance ComputingMandatory for the subtrack High Performance Computing614207.5 credits7.5
DD2365 Advanced Computation in Fluid MechanicsMandatory for the subtrack Computational Science602417.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2421 Machine Learning602427.5 credits7.5
DT2212 Music Acoustics602397.5 credits7.5
CM2014 Simulation Methods in Medical Engineering602457.5 credits4.53.0
DD2401 Neuroscience614287.5 credits7.5

Track, Software Technology (CSST)

Courses (CSST)

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2480 Software Engineering Fundamentals602607.5 credits7.5

One of the subtracks must be chosen:

Subtrack 1: Programming Languages

Mandatory course:
- DD2481 Principles of Programming Languages.

One course must be taken (DD2373 and DD2557 are given alternately every two years):
DD2373 Automata and Languages (given Spring 2026)
DD2557 Program Semantics and Analysis (given Spring 2027)
- DD2525 Language-Based Security.

One of these must be taken:

ID2202 Compilers and Execution Environments
DD2484 Advanced Topics in Programming Languages.

 Subtrack 2: Software Engineering

One of these must be taken:
- DD2489 Scalable software Development with Functional Programming
- DD2497 Project course in System Security

At least two courses must be taken (DD2482 and DD2485 are given alternately every two years):

- DD2443 Parallel and Distributed Computing
DD2459 Software Reliability
DD2460 Software Safety and Security
DD2481 Principles of Programming Languages
- DD2525 Language-Based Security
DD2482 Automated Software Testing and DevOps (given every two years, will be given Autumn 2026)
DD2485 Programmable Society (given every two years, not given Autumn 2026)
- DD2528 Dependable Autonomous Systems (given every two years, not given Autumn 2026).

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2528 Dependable Autonomous SystemsConditionally elective for the subtrack Software Engineering505127.5 credits7.5
DD2585 Programmable Society with Blockchains and Smart ContractsConditionally elective for the subtrack Software Engineering 100727.5 credits7.5
DD2459 Software ReliabilityConditionally elective for the subtrack Software Engineering605787.5 credits7.5
DD2373 Automata and LanguagesConditionally elective for the subtrack Programming Languages604277.5 credits7.5
DD2481 Principles of Programming LanguagesMandatory for the subtrack Programming Languages and conditionally elective for the subtrack Software Engineering602547.5 credits7.5
DD2525 Language-Based SecurityConditionally elective for the both subtracks Programming Languages, and Software Engineering602537.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2421 Machine Learning602427.5 credits7.5
ID1217 Concurrent Programming602057.5 credits7.5
DD2477 Search Engines and Information Retrieval Systems602517.5 credits4.53.0

Track, Theoretical Computer Science (CSTC)

Courses (CSTC)

Mandatory course for all:
DD2467 Individual Project in Theoretical Computer Science 7,5 credits

All should take at least one of these courses:

SF2740 Graph Theory (will be given every two years, given in Autumn 2027),
SF2972 Game Theory
SF2940 Probability Theory,
SF2741 Enumerative Combinatorics (will be given every two years, given in Autumn 2026),
- SF2930 Regression Analysis,
- SF2956 Topological Data Analysis.

The student may propose a change to other courses in mathematics at advanced level and a total of at least 7,5 credits. The proposal is submitted to the Master Coordinator well in advance of the course start. The course change must be approved by the Programme Director. In addition, one of the sub-tracks must be selected:

Subtrack 1: Algorithms, Complexity and Cryptography

Mandatory course:
DD2448 Foundations of Cryptography.

At least one of must be taken:
- DD2542 Seminars on Theoretical Computer Science, Algorithms and Complexity (will be given every two years, given in Autumn 2026),
DD2445 Complexity Theory (will be given every two years, given in Autumn 2027).

Subtrack 2: Formal Methods and Semantics

At least one must be taken:
- DD2452 Formal Methods (will be given every two years, given in Autumn 2026),
DD2552 Seminars on Theoretical Computer Science, Programming Languages and Formal Methods (will be given every two years, given in Autumn 2027).

At least 7,5 credits must be taken:
- DD2459 Software Reliability,
DD2557 Program Semantics and Analysis (will be given every two years, given in Spring 2027)
DD2460 Software Safety and Security
DD2373 Automata and Languages (will be given every two years, given in Spring 2026)
DD2443 Parallel and Distributed Computing.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2445 Complexity TheoryConditionally elective for the subtrack Algorithms, Complexity and Cryptography504747.5 credits7.5
DD2552 Seminars on Theoretical Computer Science, Programming Languages and Formal MethodsConditionally elective for the subtrack Formal Methods and Semantics500627.5 credits7.5
SF2940 Probability Theory503097.5 credits7.5
SF2956 Topological Data Analysis503087.5 credits7.5
SF2740 Graph Theory503657.5 credits3.73.8
DD2459 Software ReliabilityConditionally elective for the subtrack Formal Methods and Semantics605787.5 credits7.5
SF2930 Regression Analysis602377.5 credits7.5
SF2972 Game Theory602367.5 credits7.5
DD2373 Automata and LanguagesConditionally elective for the subtrack Formal Methods and Semantics604277.5 credits7.5
DD2448 Foundations of CryptographyMandatory for the subtrack Algorithms, Complexity and Cryptography602337.5 credits7.5
DD2460 Software Safety and SecurityConditionally elective for the subtrack Formal Methods and Semantics601537.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
ID1217 Concurrent Programming602057.5 credits7.5

Track, Visualization and Interactive Graphics (CSVG)

Courses (CSVG)

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2258 Introduction to Visualization, Computer Graphics and Image/Video Processing602297.5 credits7.5

At least 16,5 credits must be taken:

- DD2257 Visualization
DH2321 Information Visualization
DH2310 Extended Reality in Theory and Practice
DH2323 Computer Graphics and Interaction
DH2413 Advanced Graphics and Interaction
DH2650 Computer Game Design.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DH2310 Extended Reality in Theory and Practice611967.5 credits7.5
DH2321 Information Visualization602316.0 credits6.0
DH2323 Computer Graphics and Interaction602266.0 credits6.0
DH2650 Computer Game Design602306.0 credits6.0

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2356 Methods in High Performance Computing614207.5 credits7.5
DD2424 Deep Learning in Data Science602287.5 credits7.5