Curriculum (Theoretical Computer Science)

This is a two year master program. The procedure for admission starts with completing a short application form followed by submitting other documents; then we will contact you and schedule an interview.


Semester

Courses (for students admitted in 2012)

Semester 1
Algorithms and Data Structures I and II
Structural Computational Complexity
Discrete Mathematics I (Combinatorics and Graph Theory)
Mathematical Logic I
Specialized Course
Algebraic Structures
C++ I (can be credited from BSc)
Theory Seminar
Language (optional)
Research
Semester 2
Machine Learning I
Discrete Mathematics II
Specialized Courses
(3 out of 4)
Complexity II
Mathematical Logic II
Theoretical Foundations of Programming Languages
Functional Programming
C++ II (can be credited from BSc)
Combinatorics II
Language (optional)
Theory Seminar
Research
Semester 3 Algorithms III
Machine Learning II
Discrete Mathematics III
Specialized Course
Specialized Course or Summer School
Specialized Seminar
Theory Seminar
Language (optional)
Research
Semester 4
Complexity in Cryptography
Constructions in Cryptography
Specialized Course
Theory Seminar
Language (optional)
Master Thesis