Skip to main content
Till KTH:s startsida

Study year 2

The following courses are part of study year two.

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

General Courses

General Courses

Mandatory courses

Course code Course name Scope Educational level
DA231X Degree Project in Computer Science and Engineering, Second Cycle 30 hp Second cycle
DD2300 Program Integrating Course in Computer Science
One credit each academic year
2 hp Second cycle

Specialisations: Track, Cognitive Systems (CSCS)

Conditionally elective courses

Course code Course name Scope Educational level
DD2410 Introduction to Robotics
Compulsory for the subtrack Vision and robotics
7.5 hp Second cycle
DD2423 Image Analysis and Computer Vision
Compulsory for the subtrack Vision and robotics
7.5 hp Second cycle
DD2437 Artificial Neural Networks and Deep Architectures
Conditionally elective for the subtrack Conversational systems
7.5 hp Second cycle
DT2140 Multimodal Interaction and Interfaces
Conditionally elective for the subtrack Conversational systems
7.5 hp Second cycle
DT2151 Project in Conversational Systems
Compulsory for the subtrack Conversational systems
7.5 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
DD2417 Language Engineering 7.5 hp Second cycle
DD2434 Machine Learning, Advanced Course 7.5 hp Second cycle
DD2438 Artificial Intelligence and Multi Agent Systems 15 hp Second cycle
DD2447 Statistical Methods in Applied Computer Science 6 hp Second cycle
DD2477 Search Engines and Information Retrieval Systems 7.5 hp Second cycle
EL2320 Applied Estimation 7.5 hp Second cycle
SF1861 Optimization 6 hp First cycle
SF2940 Probability Theory 7.5 hp Second cycle

Supplementary information

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

Information regarding conditionally elective courses

One of the subtracks must be taken.

Subtrack 1: Vision and Robotics

Mandatory courses:
DD2424 Deep Learning in Data Science
- DD2410 Introduction to Robotics
DD2423 Image Analysis and Computer Vision
Subtrack 2:Conversational System

Mandatory course:
- DT2151 Project in Conversational Systems

At least one must be taken:
DT2112 Speech Technology
DT2119 Speech and Speaker Recognition

At least 7,5 credits must be taken from:
DD2424 Deep Learning in Data Science
DD2437 Artificial Neural Networks and Deep Architectures
DT2140 Multimodal Interaction and Interfaces
DD2417 Language Engineering.

Some courses may be given every two years.

Specialisations: Track, Data Science (CSDA)

Mandatory courses

Course code Course name Scope Educational level
DD2430 Project Course in Data Science 7.5 hp Second cycle

Conditionally elective courses

Course code Course name Scope Educational level
DD2434 Machine Learning, Advanced Course
Conditionally elective for the subtrack Machine learning
7.5 hp Second cycle
DD2437 Artificial Neural Networks and Deep Architectures
Conditionally elective for the subtrack Machine learning
7.5 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
DD2257 Visualization 7.5 hp Second cycle
DD2412 Deep Learning, Advanced Course 6 hp Second cycle
DD2413 Social Robotics 7.5 hp Second cycle
DD2423 Image Analysis and Computer Vision 7.5 hp Second cycle
DD2447 Statistical Methods in Applied Computer Science 6 hp Second cycle
EL2320 Applied Estimation 7.5 hp Second cycle
SF1811 Optimization 6 hp First cycle

Supplementary information

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

Information regarding conditionally elective courses

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.

Specialisations: Track, Interaction Design (CSID)

Mandatory courses

Course code Course name Scope Educational level
DM2630 User Experience Design and Evaluation 9 hp Second cycle

Conditionally elective courses

Course code Course name Scope Educational level
DH2408 Evaluation Methods in Human-Computer Interaction 6 hp Second cycle
DH2413 Advanced Graphics and Interaction 9 hp Second cycle
DT2140 Multimodal Interaction and Interfaces 7.5 hp Second cycle

Information regarding conditionally elective courses

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:

- DH2321 Information Visualization
DH2400 Physical Interaction Design and Realization
- DH2632 Human-Computer Interaction Research Seminars
DH2408 Evaluation Methods in Human-Computer Interaction
DH2413 Advanced Graphics and Interaction
DT2140 Multimodal Interaction and Interfaces.

Some courses may be given every two years.

Specialisations: Track, Scientific Computing (CSSC)

Conditionally elective courses

Course code Course name Scope Educational level
DD2257 Visualization
Conditionally elective for the subtrack Computational Science
7.5 hp Second cycle
DD2360 Applied GPU Programming
Mandatory for the subtrack High Performance Computing
7.5 hp Second cycle
DD2370 Computational Methods for Electromagnetics
Conditionally elective for the subtrack High Performance Computing
7.5 hp Second cycle
DD2375 Project Course in High-Performance Computing
Conditionally elective for the subtrack High Performance Computing
7.5 hp Second cycle
DD2437 Artificial Neural Networks and Deep Architectures
Conditionally elective for the subtrack Computational Science
7.5 hp Second cycle
DD2444 Project Course in Scientific Computing
Mandatory for the subtrack Computational Science
7.5 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
BB2280 Molecular Modeling 7.5 hp Second cycle
DD2366 Open Quantum Systems 7.5 hp Second cycle
DD2367 Quantum Computing for Computer Scientists 7.5 hp Second cycle
DD2402 Advanced Individual Course in Computational Biology 6 hp Second cycle
DD2421 Machine Learning 7.5 hp Second cycle
DD2435 Mathematical Modelling of Biological Systems 9 hp Second cycle
DD2443 Parallel and Distributed Computing 7.5 hp Second cycle
EL2820 Modelling of Dynamical Systems 7.5 hp Second cycle
SF2565 Program Construction in C++ for Scientific Computing 7.5 hp Second cycle

Supplementary information

Prerequisites:
SF1626 Calculus in Several Variable, 7,5 credits.

Information regarding conditionally elective courses

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:
DD2370 Computational Methods for Electromagnetics
DD2375 Project Course in High-Performance Computing.

Subtrack 2:Computational Science  

Mandatory courses within the subtrack:
DD2356 Methods in High Performance Computing
DD2363 Methods in Scientific Computing
DD2444 Project Course in Scientific Computing.

One of the courses should be taken:
DD2437 Artificial Neural Networks and Deep Architectures
DD2257 Visualization
DD2365 Advanced Computation in Fluid Mechanics.

Some courses may be given every two years.

Specialisations: Track, Software Technology (CSST)

Conditionally elective courses

Course code Course name Scope Educational level
DD2443 Parallel and Distributed Computing
Conditionally elective for the subtrack Software Engineering
7.5 hp Second cycle
DD2460 Software Safety and Security
Conditionally elective for the subtrack Software Engineering
7.5 hp Second cycle
DD2482 Automated Software Testing and DevOps
Conditionally elective for the subtrack Software Engineering
7.5 hp Second cycle
DD2484 Advanced Topics in Programming Languages
Conditionally elective for the subtrack Programming Languages
7.5 hp Second cycle
DD2489 Scalable software Development with Functional Programming
Mandatory for subtrack Software Engineering
7.5 hp Second cycle
DD2557 Program Semantics and Analysis
Conditionally elective for the subtrack Programming Languages
7.5 hp Second cycle
ID2202 Compilers and Execution Environments
Conditionally elective for the subtrack Programming Languages
7.5 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
DD2421 Machine Learning 7.5 hp Second cycle
DD2458 Problem Solving and Programming under Pressure 9 hp Second cycle
DD2477 Search Engines and Information Retrieval Systems 7.5 hp Second cycle
ID1217 Concurrent Programming 7.5 hp First cycle

Information regarding conditionally elective courses

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 2024)
DD2557 Program Semantics and Analysis (given Spring 2025)
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

Mandatory course:
- DD2489 Scalable software Development with Functional Programming

At least two courses must be taken:
- DD2443 Parallel and Distributed Computing
DD2459 Software Reliability
DD2460 Software Safety and Security (given every two years)
DD2481 Principles of Programming Languages
DD2482 Automated Software Testing and DevOps
DD2485 Programmable Society (given every two years, not given Autumn 2024)
- DD2528 Dependable Autonomous Systems (given every two years, not given in Autumn 2024).

Some courses may be given every two years.

Specialisations: Track, Theoretical Computer Science (CSTC)

Mandatory courses

Course code Course name Scope Educational level
DD2467 Individual Project in Theoretical Computer Science 7.5 hp Second cycle

Conditionally elective courses

Course code Course name Scope Educational level
DD2443 Parallel and Distributed Computing
Conditionally elective for the subtrack Formal Methods and Semantics
7.5 hp Second cycle
DD2452 Formal Methods
Compulsory for the subtrack Formal Methods and Semantics
7.5 hp Second cycle
DD2460 Software Safety and Security
Conditionally elective for the subtrack Formal Methods and Semantics
7.5 hp Second cycle
DD2542 Seminars on Theoretical Computer Science, Algorithms and Complexity
Mandatory in subtrack Algorithms, Complexity and Cryptography
7.5 hp Second cycle
DD2557 Program Semantics and Analysis
Conditionally elective for the subtrack Formal Methods and Semantics
7.5 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
DD2366 Open Quantum Systems 7.5 hp Second cycle
DD2447 Statistical Methods in Applied Computer Science 6 hp Second cycle
DD2458 Problem Solving and Programming under Pressure 9 hp Second cycle
ID1217 Concurrent Programming 7.5 hp First cycle

Supplementary information

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

Information regarding conditionally elective courses

All should take at least one of these courses:

SF2740 Graph Theory (will be given every two years, given in Fall 2023),
SF2972 Game Theory
SF2940 Probability Theory,
SF2741 Enumerative Combinatorics (will be given every two years, given in Fall 2024),
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 Fall 2024),
DD2445 Complexity Theory (will be given every two years, given in Fall 2025).

Subtrack 2: Formal Methods and Semantics

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

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 2025),
DD2460 Software Safety and Security, (will be given every two years)
DD2373 Automata and Languages (will be given every two years, given in Spring 2024),
DD2443 Parallel and Distributed Computing.

Specialisations: Track, Visualization and Interactive Graphics (CSVG)

Mandatory courses

Course code Course name Scope Educational level
DD2470 Advanced Topics in Visualization and Computer Graphics 6 hp Second cycle

Conditionally elective courses

Course code Course name Scope Educational level
DD2257 Visualization 7.5 hp Second cycle
DH2413 Advanced Graphics and Interaction 9 hp Second cycle

Recommended courses

Course code Course name Scope Educational level
DD2356 Methods in High Performance Computing 7.5 hp Second cycle
DD2423 Image Analysis and Computer Vision 7.5 hp Second cycle
DD2424 Deep Learning in Data Science 7.5 hp Second cycle
DM2350 Human Perception for Information Technology 7.5 hp Second cycle

Information regarding conditionally elective courses

At least 16,5 credits must be taken:

- DD2257 Visualization
DH2321 Information Visualization
DH2323 Computer Graphics and Interaction
DH2413 Advanced Graphics and Interaction
DH2650 Computer Game Design.