Theoretical Computer Science

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 analysing, 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 specializations: Discrete Algorithms and Models, Formal Analysis of Computer Systems, Fundamentals of Artificial Intelligence or Principles of Programming Languages.

Application form
Admissions Guide

English study programme / Czech study programme
Study modefull-time
Length of studies2 years
Graduates
Graduate Profile

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 levels of study.

Meet successful graduates

Alumni Gallery

We are preparing more information about our graduates.

Study catalogue

In the study catalogue, you will find lists of required and elective courses and a recommended course of study.

Study catalogue

Internship

Internships are not scheduled as part of the degree program.

Specialization

Specializations are study plans that provide conditions for completion, such as compulsory subjects.

Discrete Algorithms and Models

Students in the specialization 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 work.

Solving a challenging task

Formal Analysis of Computer Systems

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.

Working stress in the ParaDiSe laboratory

Fundamentals of Artificial Intelligence

As part of the specialization, students will gain a deeper understanding of the principles and techniques that form the basis of contemporary artificial intelligence methods. Particular attention is paid to techniques that combine machine learning with symbolic inference and formal methods to produce safe and explainable AI.

Principles of Programming Languages

This specialization provides deeper insight into the paradigms of modern programming languages and the structure of their compilers. Graduates can select the optimal programming resources for a given application and can quickly learn new programming languages.

Code development is what we enjoy