The study of theoretical computer science focuses on a deeper understanding of the fundamental principles underlying contemporary information technologies, including non-classical computing systems such as neural networks and quantum computers. In addition to the active acquisition of knowledge of a theoretical and technical nature, special emphasis is placed on the development of abstract thinking.
Students will learn advanced algorithmic techniques, gain insight into the principles of modern programming languages, become familiar with methods for analyzing, testing, and verifying code, and understand the capabilities and limitations of emerging computing devices that operate on different principles than classical computers. The knowledge and skills acquired will prepare students for expert analytical work, which may include independent research.
Candidates choose one of the specialisations Discrete Algorithms and Models, Formal Analysis of Computer Systems, Quantum and Other Non-Classical Computational Models or Principles of Programming Languages.
|Czech study programme
|Duration of study
Graduates of the program are prepared to work in companies focused on the design and development of software systems, especially in the positions of analyst, software architect or verifier. They will also find employment in companies providing consulting and advisory services in the field of computer science. A solid mathematical background together with knowledge of non-trivial algorithmic procedures is a good prerequisite for working in the financial sector. The acquired knowledge and skills can also be put to good use in further doctoral studies.
Where to go after this study?
Graduate employment survey
FI graduates are valued in practice, with an average gross starting salary of more than 45,000 CZK in the last few years, according to a survey of all degrees.
Meet successful graduates
We are preparing more information about our graduates.
In the student catalogue you will find lists of required and elective courses and a recommended course of study.
Specializations are curricula that set out the requirements for graduation, such as required courses.
Students in the specialization 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 challenging problems in selected areas of theoretical computer science and will have basic experience in PhD-like research.
The specialization focuses on formal methods for modeling, analysis, testing and verification of computer programs, which are a key part of the development of modern software systems. Students will gain the necessary theoretical foundation in formal methods, a deeper insight into the principles of modern verification tools, and a set of practice-oriented skills useful for working in teams responsible for quality assurance of software products.
This specialization introduces students to methods for solving problems that are computationally intensive on classical computers. Graduates will also learn the principles, advantages and limitations of non-classical computing systems such as neural networks and quantum computers.
This specialization provides a deeper insight into the paradigms of modern programming languages and the structure of their compilers. Graduates can choose the optimal programming resources for a given type of application and can quickly learn new programming languages.