Theoretical Computer Science
The study of theoretical computer science is focused on a deeper understanding of the basic principles underlying contemporary information technologies, including non-classical computing systems such as neural networks or quantum computers. In addition to the active acquisition of theoretical and technical knowledge, special emphasis is placed on the development of abstract thinking.
Students will learn advanced algorithmic procedures, gain insight into the principles of modern programming languages, become familiar with methods for code analysis, testing and verification, and understand the possibilities and limitations of emerging computing devices that operate on different principles than classical computers. The acquired knowledge and skills will prepare students for expert analytical work, which may include independent research.
The applicant chooses one of the specializations Computational Model Algorithms, Formal Verification and Analysis of Programs or Principles of Programming Languages.
|Czech study program|
|Form||full - time|
|Duration of study||2 years|
The graduate of the program is ready to work in companies focused on the design and development of software systems, especially in the positions of analyst, software architect or verifier. It will also find application in companies providing consulting and advisory services in the field of informatics. Solid mathematical foundations, together with knowledge of non-trivial algorithmic procedures, are a good prerequisite for work in the financial sector. The graduate can also use the acquired knowledge and skills very well in the subsequent doctoral study.
Where after this study?
Survey of graduate employment
FI graduates are valued in practice, their average gross starting salary has been more than CZK 45,000 over the past few years, according to a survey of all degrees of study. More about graduate employment
Meet successful graduates
We are preparing more information about graduates.
In the study catalog you will find lists of compulsory and compulsory elective courses and recommended course of study.
Specializations are curricula that set the conditions for completion, such as compulsory subjects.
Specialization will introduce students to methods of solving problems that are computationally demanding on classical computers. Graduates will also become familiar with the principles, advantages and limitations of non-classical computing systems such as neural networks or quantum computers.
The specialization is focused 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 background in the field of formal methods, a deeper insight into the principles of modern verification tools and a set of practically oriented skills usable in working in teams responsible for ensuring the quality of software products.
The specialization provides a deeper insight into the paradigms of modern programming languages and the structure of their compilers. Graduates are able to choose optimal programming tools for a given type of application and are able to quickly learn new programming languages.