FI MU Study Catalogue 2024/2025
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
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IA006
|
Selected topics on automata theory |
---|---|
Logic and reasoning Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA085
|
Satisfiability and Automated Reasoning |
IA011
|
Programming Language Semantics |
IA012
|
Complexity |
IV003
|
Algorithms and Data Structures II |
IV111
|
Probability in Computer Science |
MA007
|
Mathematical Logic |
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 3 courses of the following list | |
MA017
|
Geometric Algorithms |
PV021
|
Neural Networks |
IA174
|
Fundaments of Cryptography |
IA062
|
Randomized Algorithms and Computations |
PřF:M8190
|
Number Theoretic Algorithms |
MA009
|
Algebra II |
MA026
|
Advanced Combinatorics |
Choice of Seminar Obtain at least 2 credits by passing courses of the following list | |
IA072
|
Seminar on Verification |
IV115
|
Parallel and Distributed Laboratory Seminar |
IV131
|
Seminar of Discrete Methods and Algorithms Laboratory |
IV125
|
Formela lab seminar |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Quantum and other Nonclassical Computational Models
Specialization Quantum and other Nonclassical Computational Models will familiarize students with problem solving methods, which are computationally demanding on conventional computers. Graduates are also familiar with the principles, benefits and limitations of non-classical computing systems such as neural networks or quantum computers.
Compulsory courses of the specialization
IV100
|
Parallel and distributed computations |
---|---|
IA062
|
Randomized Algorithms and Computations |
IA066
|
Introduction to Quantum Computing |
IA082
|
Physical concepts of quantum information processing |
IA101
|
Algorithmics for Hard Problems |
IA174
|
Fundaments of Cryptography |
PV056
|
Machine Learning and Data Mining |
PV021
|
Neural Networks |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. 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 |
Choice of Seminar Obtain at least 4 credits by passing courses of the following list | |
IA072
|
Seminar on Verification |
IV115
|
Parallel and Distributed Laboratory Seminar |
IV131
|
Seminar of Discrete Methods and Algorithms Laboratory |
IV125
|
Formela lab seminar |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. 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
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 |
IV010
|
Communication and Parallelism |
PA008
|
Compiler Construction |
PA037
|
Compiler Project |