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 2022/2023. For other academic years, different application codes and study periods may apply

General Courses

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2300 Program Integrating Course in Computer ScienceOne credit each academic year2.0 credits0.20.30.20.3
DA231X Degree Project in Computer Science and Engineering, Second Cycle30.0 credits15.015.0

Specialisations

Track, Cognitive Systems (CSCS)

Courses (CSCS)

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

One of the subtracks must be taken:

Subtrack 1: Vision and Robotics

Mandatory courses (read in year 2):
- DD2410 Introduction to Robotics
DD2423 Image Analysis and Computer Vision
DD2424 Deep Learning in Data Science

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.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2410 Introduction to RoboticsCompulsory for the subtrack Vision and robotics7.5 credits7.5
DD2437 Artificial Neural Networks and Deep ArchitecturesConditionally elective for the subtrack Conversational systems7.5 credits7.5
DD2423 Image Analysis and Computer VisionCompulsory for the subtrack Vision and robotics7.5 credits7.5
DT2140 Multimodal Interaction and InterfacesConditionally elective for the subtrack Conversational systems7.5 credits7.5
DT2151 Project in Conversational SystemsCompulsory for the subtrack Conversational systems7.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
SF2940 Probability Theory7.5 credits7.5
DD2434 Machine Learning, Advanced Course7.5 credits7.5
DD2447 Statistical Methods in Applied Computer Science6.0 credits6.0
DT2410 Audio Technology7.5 credits7.5
EL2320 Applied Estimation7.5 credits7.5
DD2438 Artificial Intelligence and Multi Agent Systems15.0 credits7.08.0
DD2477 Search Engines and Information Retrieval Systems7.5 credits4.53.0
DD2417 Language Engineering7.5 credits7.5
SF1861 Optimization6.0 credits6.0

Track, Data Science (CSDA)

Courses (CSDA)

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

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2430 Project Course in Data Science7.5 credits3.54.0

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
DD2437 Artificial Neural Networks and Deep ArchitecturesConditionally elective for the subtrack Machine learning7.5 credits7.5
SF2940 Probability Theory7.5 credits7.5
DD2434 Machine Learning, Advanced CourseConditionally elective for the subtrack Machine learning7.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2257 Visualization7.5 credits7.5
DD2412 Deep Learning, Advanced Course6.0 credits3.03.0
DD2413 Social Robotics7.5 credits7.5
DD2423 Image Analysis and Computer Vision7.5 credits7.5
DD2447 Statistical Methods in Applied Computer Science6.0 credits6.0
EL2320 Applied Estimation7.5 credits7.5
SF1811 Optimization6.0 credits6.0

Track, Interaction Design (CSID)

Courses (CSID)

At least 15 credits (ie either 7,5+7,5 credits, or 7,5+6+3 credits) 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
DM2630 User Experience Design and Evaluation
DT2140 Multimodal Interaction and Interfaces.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DH2413 Advanced Graphics and Interaction9.0 credits3.06.0
DM2630 User Experience Design and Evaluation9.0 credits4.54.5
DH2408 Evaluation Methods in Human-Computer Interaction6.0 credits6.0
DT2140 Multimodal Interaction and Interfaces7.5 credits7.5

Track, Scientific Computing (CSSC)

Courses (CSSC)

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

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.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2257 Visualization7.5 credits7.5
DD2437 Artificial Neural Networks and Deep Architectures7.5 credits7.5
DD2360 Applied GPU ProgrammingMandatory in Subtrack 17.5 credits7.5
DD2370 Computational Methods for Electromagnetics7.5 credits7.5
DD2375 Project Course in High-Performance Computing7.5 credits7.5
DD2444 Project Course in Scientific ComputingMandatory in Subtrack 27.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2443 Parallel and Distributed Computing7.5 credits7.5
EL2820 Modelling of Dynamical Systems7.5 credits7.5
SF2561 The Finite Element Method7.5 credits7.5
DD2435 Mathematical Modelling of Biological Systems9.0 credits6.03.0
SF2565 Program Construction in C++ for Scientific Computing7.5 credits3.54.0
BB2280 Molecular Modeling7.5 credits7.5
DD2421 Machine Learning7.5 credits7.5
DD2402 Advanced Individual Course in Computational Biology6.0 credits3.03.0

Track, Security and Privacy (CSSP)

Courses (CSSP)

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2520 Applied Cryptography7.5 credits7.5

At least two of the courses must be taken:

- DD2448 Foundations of Cryptography
DD2525 Language-Based Security
DD2496 Privacy Enhancing Technologies
DD2443 Parallel and Distributed Computing

At least one course must be taken:

- DD2497 Project course in System Security
EP2510 Advanced Networked Systems Security.

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2443 Parallel and Distributed Computing7.5 credits7.5
DD2496 Privacy Enhancing Technologies7.5 credits7.5
DD2497 Project course in System Security7.5 credits7.5
EP2510 Advanced Networked Systems Security7.5 credits7.5
DD2525 Language-Based Security7.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
EN2720 Ethical Hacking7.5 credits7.5
EP2790 Security Analysis of Large-Scale Computer Systems7.5 credits7.5

Track, Software Technology (CSST)

Courses (CSST)

One of the subtracks must be chosen:

Subtrack 1: Programming Languages

Mandatory courses:

- DD2481 Principles of Programming Languages
DD2488 Compiler Construction

One course must be taken (given alternately every two years):

DD2372 Automata and Languages (not given Spring 2021)
DD2457 Program Semantics and Analysis (not given Spring 2022) replaces DD2557.

Subtrack 2: Software Engineering

Mandatory course:

- DD2487 Large-Scale Software Development

At least two courses must be taken: 

- DD2443 Parallel and Distributed Computing
DD2459 Software Reliability
DD2460 Software Safety and Security
DD2481 Principles of Programming Languages
DD2482 Automated Software Testing and DevOps 
- DD2528 Dependable Autonomous Systems (given every two years, not in Autumn 2022).

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2443 Parallel and Distributed ComputingConditionally elective for the subtrack Software Engineering7.5 credits7.5
DD2488 Compiler ConstructionCompulsory for the subtrack Programming languages9.0 credits4.54.5
DD2487 Large-Scale Software DevelopmentCompulsory for the subtrack Software Engineering7.5 credits7.5
DD2557 Program Semantics and AnalysisCompulsory for the subtrack Programming Languages7.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2421 Machine Learning7.5 credits7.5
ID1217 Concurrent Programming7.5 credits7.5
DD2458 Problem Solving and Programming under Pressure9.0 credits4.54.5
DD2477 Search Engines and Information Retrieval Systems7.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

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2467 Individual Project in Theoretical Computer Science7.5 credits4.03.5

All should take at least one of these courses:

SF2740 Graph Theory (will be given every two years, given in Fall 2021)
SF2972 Game Theory (will be given every two years, given in Spring 2022)
SF2940 Probability Theory
SF2741 Enumerative Combinatorics (will be given every two years, given in Fall 2022).

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.

Subtrack 1: Algorithms, Complexity and Cryptography

Mandatory course:

DD2448 Foundations of Cryptography

At least one of the courses must be taken:

- DD2542 Seminars on Theoretical Computer Science, Algorithms and Complexity (will be given every two years, given in Fall 2022).
- DD2445 Complexity Theory (will be given every two years, given in Fall 2021).

Subtrack 2: Formal Methods and Semantics

Mandatory course:

- DD2452 Formal Methods (will be given every two years, given in Fall 2022),
DD2552 Seminars on Theoretical Computer Science, Programming Languages and Formal Methods (will be given every two years, given in Fall 2021).

At least 7,5 credits must be taken:

- DD2459 Software Reliability
DD2457 Program Semantics and Analysis (given last time in Spring 2021) Note! Replaced by DD2557
DD2460 Software Safety and Security
DD2372 Automata and Languages (will be given every two years, given in Spring 2022)
DD2443 Parallel and Distributed Computing
DD2557 Programsemantik och programanalys (see above, replace DD2457).

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2443 Parallel and Distributed ComputingConditionally elective for the subtrack Formal Methods and Semantics7.5 credits7.5
DD2452 Formal MethodsCompulsory for the subtrack Formal Methods and Semantics7.5 credits7.5
DD2542 Seminars on Theoretical Computer Science, Algorithms and ComplexityConditionally elective for the subtrack Algorithms, Complexity and Cryptography7.5 credits7.5
SF2940 Probability Theory7.5 credits7.5
SF2741 Enumerative Combinatorics7.5 credits3.73.8
SF2972 Game Theory7.5 credits7.5
DD2557 Program Semantics and AnalysisCompulsory for the subtrack Formal Methods and Semantics7.5 credits7.5

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2447 Statistical Methods in Applied Computer Science6.0 credits6.0
ID1217 Concurrent Programming7.5 credits7.5
DD2458 Problem Solving and Programming under Pressure9.0 credits4.54.5

Track, Visualization and Interactive Graphics (CSVG)

Courses (CSVG)

Mandatory courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2470 Advanced Topics in Visualization and Computer Graphics6.0 credits6.0

At least 18 credits must be taken:

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

Some courses may be given every two years.

Conditionally elective courses

Course code and nameAppl.codeScopeP1P2P3P4
DD2257 Visualization7.5 credits7.5
DH2413 Advanced Graphics and Interaction9.0 credits3.06.0
DH2321 Information Visualization6.0 credits6.0
DH2323 Computer Graphics and Interaction6.0 credits6.0
DH2650 Computer Game Design6.0 credits6.0

Recommended courses

Course code and nameAppl.codeScopeP1P2P3P4
DM2350 Human Perception for Information Technology7.5 credits7.5
DD2423 Image Analysis and Computer Vision7.5 credits7.5
DD2356 Methods in High Performance Computing7.5 credits7.5
DD2424 Deep Learning in Data Science7.5 credits7.5