FI MU Study Catalogue 2025/2026

Back to introduction page

Theoretical Computer Science

follow-up master's program (Czech) with specializations

The study of theoretical computer science focuses on a deeper understanding of basic principles underpinning the development of contemporary information technologies, including non-classical computational devices such as neural networks or quantum computers. Together with the active mastering of advanced theoretical as well as practical concepts, a special emphasis is put on the development of abstract thinking. The students gain a deeper understanding of advanced algorithms, principles of modern programming languages, and methods for verification and analysis of computer programs. Further, they understand the basic advantages and limitations of non-classical computational devices. After successfully completing the programme, the students are qualified for a wide variety of positions requiring complex expert skills.

After successfully completing the study programme, the students are qualified for a variety of IT positions including a developer, system architect, or verification engineer. Solid mathematical skills together with deep knowledge of non-trivial algorithms enable the students to find jobs in the financial sector. The acquired knowledge and skills may be well used also in the follow-up Ph.D. programme.

Requirements for successful graduation

Compulsory courses of the program

IA006 Selected Topics on Automata Theory
IA011 Programming Language Semantics
IA012 Complexity
IV003 Algorithms and Data Structures II
IV111 Probability in Computer Science
MA007 Mathematical Logic
MA012 Statistics II
PV027 Optimization
SOBHA Defence of Thesis
SZMGR State Exam (MSc degree)

Specialization: Discrete algorithms and models

Students specializing in Discrete Algorithms and Models will gain advanced knowledge in a wide range of areas of theoretical computer science and related areas of mathematics. Graduates of the specialization will be able to solve very demanding tasks from selected areas of theoretical computer science and will have basic experience with scientific work similar to doctoral studies.

Compulsory courses of the specialization

IA101 Algorithmics for Hard Problems
IA168 Algorithmic Game Theory
MA010 Graph Theory
MA015 Graph Algorithms
Advanced mathematics and algorithms Pass at least 4 courses of the following list
MA017 Geometric Algorithms
PV021 Neural Networks
IA008 Computational Logic
IA066 Introduction to Quantum Computing
IA085 Satisfiability and Automated Reasoning
IA174 Fundaments of Cryptography
PřF:M8170 Coding
PřF:M8190 Number Theoretic Algorithms
MA009 Algebra II
MA026 Advanced Combinatorics
Choice of Seminar Obtain at least 6 credits by passing courses of the following list
IA072 Seminar on Verification
IV115 Lab Seminar – ParaDiSe
IV131 Lab Seminar – Discrete Methods and Algorithms
IV132 Lab Seminar – LiVe
IV125 Lab Seminar – Formela

Recommended course of study

Fall 2025 (1. term)
Spring 2026 (2. term)
Fall 2026 (3. term)
Spring 2027 (4. term)

Specialization: Formal Analysis of Computer Systems

The specialization Formal Analysis of Computer Systems focuses on formal methods for modeling, analysis, testing, and verification of computer programs as one of the basic building blocks of software systems development. Students get acquainted with the principles of modern verification tools and master practical skills required for working in teams responsible for ensuring the quality of the software products (quality assurance teams).

Compulsory courses of the specialization

IA023 Petri Nets
IA085 Satisfiability and Automated Reasoning
IA159 Formal Methods for Software Analysis
IA168 Algorithmic Game Theory
IA169 Model Checking
IA175 Algorithms for Quantitative Verification
IV120 Continuous and Hybrid Systems
PA013 Software Testing and Analysis
Choice of Seminar Obtain at least 3 credits by passing courses of the following list
IA072 Seminar on Verification
IV115 Lab Seminar – ParaDiSe
IV131 Lab Seminar – Discrete Methods and Algorithms
IV132 Lab Seminar – LiVe
IV125 Lab Seminar – Formela

Recommended course of study

Fall 2025 (1. term)
Spring 2026 (2. term)
Fall 2026 (3. term)
Spring 2027 (4. term)

Specialization: Principles of Programming Languages

Specialization Principles of programming languages provide a deeper insight into the paradigms of modern programming languages and the structure of their compilers. Graduates can choose the optimal programming tools for a given application type and can quickly acquire new programming languages.

Compulsory courses of the specialization

IA008 Computational Logic
IA010 Principles of Programming Languages
IA014 Advanced Functional Programming
Advanced Types Pass at least 1 course of the following list
IA038 Types and Proofs
IA081 Lambda Calculus
IA159 Formal Methods for Software Analysis
IA174 Fundaments of Cryptography
PA008 Compiler Construction
PA037 Compiler Project
Choice of Seminar Obtain at least 6 credits by passing courses of the following list
IA072 Seminar on Verification
IV115 Lab Seminar – ParaDiSe
IV131 Lab Seminar – Discrete Methods and Algorithms
IV132 Lab Seminar – LiVe
IV125 Lab Seminar – Formela

Recommended course of study

Fall 2025 (1. term)
Spring 2026 (2. term)
Fall 2026 (3. term)
Spring 2027 (4. term)