Study year 1

Master's Programme, Computer Science, 120 credits (TCSCM), Programme syllabus for studies starting in autumn 2020

The following courses are part of study year one.

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

General

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 cr.
  - SF1662 Discrete Mathematics 7,5 cr/SF1610 Discrete Mathematics, 7,5 cr./SF1679 Discrete Mathematics 7,5 cr.

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

- from CMETE, who started 2015 or earlier, have to take the compulsory course DM2573 Sustainability and Media Technology 7,5 cr. in the master's programme.

- from CINTE who has read IK1203 Networks and Communication, 7,5 cr, the course IK2218 Protocols and Principles of the Internet, 6 cr, is replaced by a second cycle elective complementary computer science course of at least 6 cr.
A complementary course refers to courses that are not part of the track's 30 credits.

Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science
One credit each academic year
50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0

Specialisations

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

Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DD2421 Machine Learning 60334 7.5 hp 7.5

One of the subtracks must be chosen:

  1. Vision and Robotics:
    Mandatory courses: DD2410 Audio Technology, DD2423 Image Analysis and Computer Vision, and
    DD2424 Deep Learning in Data Science.
  2. Conversational System:
    - Mandatory course: DT2151 Project in Conversational Systems.
    - At least one must be taken: DT2112 Speech Technology or DT2119 Speech and Speaker Recognition, and
      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, DD2418 Language
      Engineering.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DT2112 Speech Technology
Conditionally elective for the subtrack Conversational systems
60450 7.5 hp 7.5
DD2418 Language Engineering
Conditionally elective for the subtrack Conversational systems
60512 6.0 hp 6.0
DD2424 Deep Learning in Data Science
Compulsory for the subtrack Vision and robotics, Conditionally elective for the subtrack Conversational systems
60491 7.5 hp 7.5
DT2119 Speech and Speaker Recognition
Conditionally elective for the subtrack Conversational systems
60454 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
SF2940 Probability Theory 50680 7.5 hp 7.5
DD2434 Machine Learning, Advanced Course 50618 7.5 hp 7.5
DD2447 Statistical Methods in Applied Computer Science 50689 6.0 hp 6.0
DT2410 Audio Technology 50661 7.5 hp 7.5
EL2320 Applied Estimation 50687 7.5 hp 7.5
DD2438 Artificial Intelligence and Multi Agent Systems 60501 15.0 hp 7.0 8.0
DD2476 Search Engines and Information Retrieval Systems 60493 9.0 hp 6.0 3.0

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

Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DD2421 Machine Learning 60334 7.5 hp 7.5

One of the subtracks must be chosen:

1. Machine Learning:
   - Mandatory course: DD2424 Deep Learning in Data Science.
   - One of the courses must be taken: DD2434 Machine Learning Advanced Course,
     DD2437 Artificial Neural Networks and Deep Architectures, or DD2420 Probabilistic Graphical Models.

2. Natural Language Processing:
    Mandatory courses: DD2476 Search Engines and Information Retrieval Systems and 
    DD2418 Language Engineering.

3. Bioinformatics:
    Mandatory course: SF2940 Probability Theory.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2420 Probabilistic Graphical Models
Conditionally elective for the subtrack Machine learning
60496 7.5 hp 7.5
DD2476 Search Engines and Information Retrieval Systems
Compulsory for the subtrack Natural Language Processing
60493 9.0 hp 6.0 3.0
DD2418 Language Engineering
Compulsory for the subtrack Natural Language Processing
60512 6.0 hp 6.0
DD2424 Deep Learning in Data Science
Compulsory for the subtrack Machine Learning
60491 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
DH2320 Introduction to Visualization and Computer Graphics 60528 6.0 hp 6.0
DH2321 Information Visualization 60459 6.0 hp 6.0
DT2112 Speech Technology 60450 7.5 hp 7.5
DD2438 Artificial Intelligence and Multi Agent Systems 60501 15.0 hp 7.0 8.0
DT2119 Speech and Speaker Recognition 60454 7.5 hp 7.5
Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DH2628 Interaction Design Methods 60469 7.5 hp 7.5
DH2629 Interaction Design as a Reflective Practice 60452 7.5 hp 7.5

At least 15 credits must be taken: DH2321 Information Visualization, DH2400 Physical Interaction Design and Realization,
DH2632 Human-Computer Interaction Research Seminars, DH2642 Interaction Programming and the Dynamic Web.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DH2321 Information Visualization 60459 6.0 hp 6.0
DH2400 Physical Interaction Design and Realization 60449 7.5 hp 7.5
DH2632 Human-Computer Interaction, Research Seminars 60533 3.0 hp 1.5 1.5
DH2642 Interaction Programming and the Dynamic Web 60448 7.5 hp 4.5 3.0
Recommended Appl.code Scope Study period
 1   2   3   4 
DM2518 Mobile Development with Web Technologies 60332 7.5 hp 7.5

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

Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DD2363 Methods in Scientific Computing 60543 7.5 hp 7.5
DD2356 Methods in High Performance Computing 60540 7.5 hp 7.5

At least one must be taken:
DD2437 Artificial Neural Networks and Deep Architectures, DD2257 Visualization, DD2365 Advanced Computation in Fluid Mechanics.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2365 Advanced Computation in Fluid Mechanics 60542 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
DD2443 Parallel and Distributed Computing 50743 7.5 hp 7.5
EL2820 Modelling of Dynamical Systems 50762 7.5 hp 7.5
DD2421 Machine Learning 60334 7.5 hp 7.5
DH2320 Introduction to Visualization and Computer Graphics 60528 6.0 hp 6.0
DT2212 Music Acoustics 60462 7.5 hp 7.5
HL2008 Simulation Methods in Medical Engineering 60541 7.5 hp 7.5
DD2401 Neuroscience 60502 7.5 hp 7.5
Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DD2520 Applied Cryptography 60549 7.5 hp 7.5

At least two must be taken:
DD2448 Foundations of Cryptography, DD2525 Language-Based Security, DD2496 Privacy Enhancing Technologies, DD2443 Parallel and Distributed Computing, and
at least one must be taken:
DD2497 Project course in System Security, EP2510 Advanced Networked Systems Security.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2448 Foundations of Cryptography 60490 7.5 hp 7.5
DD2525 Language-Based Security 60550 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
EN2720 Ethical Hacking 50048 7.5 hp 7.5
EP2790 Security Analysis of Large-Scale Computer Systems 50608 7.5 hp 7.5
EP2520 Building Networked Systems Security 60424 7.5 hp 7.5
IL1333 Hardware Security 60182 7.5 hp 7.5
DD2460 Software Safety and Security 60553 7.5 hp 7.5
ID2218 Design of Fault-tolerant Systems 60815 7.5 hp 7.5
Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DD2480 Software Engineering Fundamentals 61173 7.5 hp 7.5

One of the subtracks must be chosen:

1. Programming Languages
- Mandatory courses: DD2481 Principles of Programming Languages and DD2488 Compiler Construction.
- One must be taken: DD2372 Automata and Languages or DD2457 Program Semantics and Analysis.

2. Software Engineering
- Mandatory course: DD2487 Large-Scale Software Development.
- At least two 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 (will not be given Autumn 2020).

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2459 Software Reliability
Conditionally elective for the subtrack Software Engineering
60793 7.5 hp 7.5
DD2457 Program Semantics and Analysis
Conditionally elective for the subtrack Programming Languages
60195 6.0 hp 6.0
DD2460 Software Safety and Security
Conditionally elective for the subtrack Software Engineering
60553 7.5 hp 7.5
DD2481 Principles of Programming Languages
Mandatory for the subtrack Programming Languages and conditionally elective for the subtrack Software Engineering
61174 7.5 hp 7.5
DD2482 Automated Software Testing and DevOps
Conditionally elective for the subtrack Software Engineering
61175 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
DD2458 Problem Solving and Programming under Pressure 51623 9.0 hp 4.5 4.5
DD2421 Machine Learning 60334 7.5 hp 7.5
ID1217 Concurrent Programming 60321 7.5 hp 7.5
DD2476 Search Engines and Information Retrieval Systems 60493 9.0 hp 6.0 3.0

Mandatory courses for all:
- DD2467 Individual Project in Theoretical Computer Science, 7,5 credits,
- SF2xxx, any course in Mathematics, second cycle, 7,5 credits.

Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0

One of the subtracks must be chosen:

1. Algorithms, Complexity and Cryptography:
- Mandatory course: DD2448 Foundations of Cryptography.
- At least one of the courses must be taken: DD2445 Complexity Theory, DD2442 Seminars on Theoretical Computer Science.

2. Formal Methods and Semantics:
- Mandatory course: DD2452 Formal Methods.
- At least 7,5 credits must be taken: DD2459 Software Reliability, DD2448 Foundations of Cryptography,
DD2457 Program Semantics and Analysis, DD2460 Software Safety and Security, DD2372 Automata and Languages,
DD2443 Parallel and Distributed Computing, DD2442 Seminars on Theoretical Computer Science, DD2445 Complexity Theory.

Some courses are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2459 Software Reliability
Conditionally elective for the subtrack Formal Methods and Semantics
60793 7.5 hp 7.5
DD2448 Foundations of Cryptography
Compulsory for the subtrack Algorithms, Complexity and Cryptography; Conditionally elective for the subtrack Formal Methods and Semantics
60490 7.5 hp 7.5
DD2457 Program Semantics and Analysis
Conditionally elective for the subtrack Formal Methods and Semantics
60195 6.0 hp 6.0
DD2460 Software Safety and Security
Conditionally elective for the subtrack Formal Methods and Semantics
60553 7.5 hp 7.5
Recommended Appl.code Scope Study period
 1   2   3   4 
DD2458 Problem Solving and Programming under Pressure 51623 9.0 hp 4.5 4.5
DD2447 Statistical Methods in Applied Computer Science 50689 6.0 hp 6.0
ID1217 Concurrent Programming 60321 7.5 hp 7.5
Mandatory Appl.code Scope Study period
 1   2   3   4 
DD2380 Artificial Intelligence 50674 6.0 hp 6.0
IK2218 Protocols and Principles of the Internet 50703 6.0 hp 6.0
DA2210 Introduction to the Philosophy of Science and Research Methodology for Computer Scientists 50708 6.0 hp 1.5 4.5
DD2440 Advanced Algorithms 50707 6.0 hp 1.5 4.5
DD2300 Program Integrating Course in Computer Science 50706 2.0 hp 0.2 0.3 0.2 0.3
DD2395 Computer Security 50677 6.0 hp 6.0
DH2320 Introduction to Visualization and Computer Graphics 60528 6.0 hp 6.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 are only given every two years.

Conditionally elective Appl.code Scope Study period
 1   2   3   4 
DD2257 Visualization 50670 7.5 hp 7.5
DH2413 Advanced Graphics and Interaction 50669 9.0 hp 3.0 6.0
DH2321 Information Visualization 60459 6.0 hp 6.0
DH2323 Computer Graphics and Interaction 60484 6.0 hp 6.0
DH2650 Computer Game Design 60102 6.0 hp 6.0
Recommended Appl.code Scope Study period
 1   2   3   4 
DM2350 Human Perception for Information Technology 50462 7.5 hp 7.5
DD2423 Image Analysis and Computer Vision 50603 7.5 hp 7.5
DD2356 Methods in High Performance Computing 60540 7.5 hp 7.5
DD2424 Deep Learning in Data Science 60491 7.5 hp 7.5