The following courses are part of study year one.

The course application codes and study periods are valid for the academic year 2021/2022. 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 CTFYS or CINTE, who miss the equivalent courses in previous degree are also required to take:
  - DD2350 Algorithms, Data Structures and Complexity 9,5 credits or DD2352 Algorithms and Complexity 7,5 credits.
  - SF1662 Discrete Mathematics 7,5 credits/SF1610 Discrete Mathematics, 7,5 credits /SF1679 Discrete Mathematics 7,5 credits.

- 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. Contact the master coordinator according to the instructions above.

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

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2395 Computer Security 51273 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 51275 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 51274 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50559 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science One credit each academic year 51271 2.0 hp 0.2 0.3 0.2 0.3
DD2380 Artificial Intelligence 51272 6.0 hp 6.0

Specialisations

Track, Cognitive Systems (CSCS)

Courses (CSCS)

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

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2421 Machine Learning 60128 7.5 hp 7.5

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 name Appl.code Scope P1 P2 P3 P4
DT2112 Speech Technology Conditionally elective for the subtrack Conversational systems 60531 7.5 hp 7.5
DD2417 Language Engineering Conditionally elective for the subtrack Conversational systems 60354 7.5 hp 7.5
DD2424 Deep Learning in Data Science Compulsory for the subtrack Vision and robotics, Conditionally elective for the subtrack Conversational systems 60130 7.5 hp 7.5
DT2119 Speech and Speaker Recognition Conditionally elective for the subtrack Conversational systems 60141 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2438 Artificial Intelligence and Multi Agent Systems 60144 15.0 hp 7.0 8.0
DD2477 Search Engines and Information Retrieval Systems 60364 7.5 hp 4.5 3.0

Track, Data Science (CSDA)

Courses (CSDA)

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

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2421 Machine Learning One can be given credit for an equivalent earlier course 60128 7.5 hp 7.5

One of the subtracks must be chosen:

Subtrack 1: Machine Learning

Mandatory course:
- DD2421 Machine Learning
- 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:
- DD2421 Machine Learning
DD2477 Search Engines and Information Retrieval Systems
DD2417 Language Engineering.

Some courses may be given every two years.

Conditionally elective courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2420 Probabilistic Graphical Models Conditionally elective for the subtrack Machine learning 60143 7.5 hp 7.5
DD2477 Search Engines and Information Retrieval Systems Compulsory for the subtrack Natural Language Processing 60364 7.5 hp 4.5 3.0
DD2417 Language Engineering Compulsory for the subtrack Natural Language Processing 60354 7.5 hp 7.5
DD2424 Deep Learning in Data Science Compulsory for the subtrack Machine Learning 60130 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
DH2320 Introduction to Visualization and Computer Graphics 60829 6.0 hp 6.0
DH2321 Information Visualization 60566 6.0 hp 6.0
DT2112 Speech Technology 60531 7.5 hp 7.5
DD2438 Artificial Intelligence and Multi Agent Systems 60144 15.0 hp 7.0 8.0
DT2119 Speech and Speaker Recognition 60141 7.5 hp 7.5

Track, Interaction Design (CSID)

Courses (CSID)

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DH2628 Interaction Design Methods 60981 7.5 hp 7.5
DH2629 Interaction Design as a Reflective Practice 60560 7.5 hp 7.5

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 name Appl.code Scope P1 P2 P3 P4
DH2321 Information Visualization 60566 6.0 hp 6.0
DH2400 Physical Interaction Design and Realization 60563 7.5 hp 7.5
DH2632 Human-Computer Interaction, Research Seminars 60786 3.0 hp 1.5 1.5

Track, Scientific Computing (CSSC)

Courses (CSSC)

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

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2356 Methods in High Performance Computing Mandatory in Subtrack 1 and 2 60394 7.5 hp 7.5

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 name Appl.code Scope P1 P2 P3 P4
DD2358 Introduction to High Performance Computing Mandatory in Subtrack 1 61511 7.5 hp 7.5
DD2363 Methods in Scientific Computing Mandatory in Subtrack 2 60991 7.5 hp 7.5
DD2365 Advanced Computation in Fluid Mechanics 60402 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2421 Machine Learning 60128 7.5 hp 7.5
DH2320 Introduction to Visualization and Computer Graphics 60829 6.0 hp 6.0
DT2212 Music Acoustics 60931 7.5 hp 7.5
HL2008 Simulation Methods in Medical Engineering 60985 7.5 hp 7.5
DD2401 Neuroscience 60539 7.5 hp 7.5

Track, Security and Privacy (CSSP)

Courses (CSSP)

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2520 Applied Cryptography 60992 7.5 hp 7.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 name Appl.code Scope P1 P2 P3 P4
DD2448 Foundations of Cryptography 60388 7.5 hp 7.5
DD2525 Language-Based Security 60998 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
EP2520 Building Networked Systems Security 61077 7.5 hp 7.5
IL1333 Hardware Security 60640 7.5 hp 7.5
DD2460 Software Safety and Security 60995 7.5 hp 7.5
ID2218 Design of Fault-tolerant Systems 61027 7.5 hp 7.5

Track, Software Technology (CSST)

Courses (CSST)

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2480 Software Engineering Fundamentals 61002 7.5 hp 7.5

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)

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 name Appl.code Scope P1 P2 P3 P4
DD2459 Software Reliability Conditionally elective for the subtrack Software Engineering 60160 7.5 hp 7.5
DD2372 Automata and Languages Conditionally elective for the subtrack Programming Languages 60975 6.0 hp 6.0
DD2460 Software Safety and Security Conditionally elective for the subtrack Software Engineering 60995 7.5 hp 7.5
DD2481 Principles of Programming Languages Mandatory for the subtrack Programming Languages and conditionally elective for the subtrack Software Engineering 61003 7.5 hp 7.5
DD2482 Automated Software Testing and DevOps Conditionally elective for the subtrack Software Engineering 61000 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2421 Machine Learning 60128 7.5 hp 7.5
ID1217 Concurrent Programming 60601 7.5 hp 7.5
DD2477 Search Engines and Information Retrieval Systems 60364 7.5 hp 4.5 3.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 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)
DD2552 Seminars on Theoretical Computer Science, Programming Languages and Formal Methods (will be given every two years, given in Fall 2021).

Subtrack 2: Formal Methods and Semantics

One mandatory course:

- DD2452 Formal Methods (will be given every two years, given in Fall 2022), or
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 (will be given every two years, given in Spring 2023)
DD2460 Software Safety and Security
DD2372 Automata and Languages (will be given every two years, given in Spring 2022)
DD2443 Parallel and Distributed Computing.

Some courses may be given every two years.

Conditionally elective courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2459 Software Reliability Conditionally elective for the subtrack Formal Methods and Semantics 60160 7.5 hp 7.5
SF2972 Game Theory 60383 7.5 hp 7.5
DD2372 Automata and Languages Conditionally elective for the subtrack Formal Methods and Semantics 60975 6.0 hp 6.0
DD2448 Foundations of Cryptography Mandatory for the subtrack Algorithms, Complexity and Cryptography 60388 7.5 hp 7.5
DD2460 Software Safety and Security Conditionally elective for the subtrack Formal Methods and Semantics 60995 7.5 hp 7.5

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
ID1217 Concurrent Programming 60601 7.5 hp 7.5

Track, Visualization and Interactive Graphics (CSVG)

Courses (CSVG)

Mandatory courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2258 Introduction to Visualization, Computer Graphics and Image/Video Processing 60950 7.5 hp 7.5

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 name Appl.code Scope P1 P2 P3 P4
DD2257 Visualization 50478 7.5 hp 7.5
DH2413 Advanced Graphics and Interaction 51262 9.0 hp 3.0 6.0
DH2321 Information Visualization 60566 6.0 hp 6.0
DH2323 Computer Graphics and Interaction 61575 6.0 hp 6.0
DH2650 Computer Game Design 60559 6.0 hp 6.0

Recommended courses

Course code and name Appl.code Scope P1 P2 P3 P4
DD2356 Methods in High Performance Computing 60394 7.5 hp 7.5
DD2424 Deep Learning in Data Science 60130 7.5 hp 7.5