Computer Science

Acquired Knowledge and Skills

The graduates of Computer Science branch of study acquire thorough theoretical elements of computer science which include mathematical analysis, mathematical logic, linear algebra, discrete mathematics, probability and statistics, algorithmics, data structures, theory of languages and automata and all layers of ICT systems architecture (digital and analog circuits, processors and HW architecture, operating systems, databases, computer networks, security, software engineering). In specialization modules, the students further enrich their professional profile with a balanced portfolio of knowledge and skills in computer architecture, system programming, graph theory and advanced algorithmics. The whole curriculum prepares them for a successful professional career or for further study within a master specialization of their choice. The graduates have deep knowledge of CPU architectures, they understand mathematical models and are able to use them for the design and analysis of algorithms with respect to computational complexity and practical resolvability of problems. They master the tools and formal models for design, specification, effective implementation and analysis of properties of miscellaneous algorithms (including heuristic and approximative algorithms) on miscellaneous computer architectures.

Analysts and Designers for solving problems in development or research teams.

Professional Profile

Students of the Theoretical Computer Science branch of study gain knowledge in theoretical principles of the design of efficient algorithms and their complexity analysis, processor architectures and Students various programming paradigms and laguages. They get acquinted with the principles of the compiler design and solutions of basic system programming tasks and data processing tasks.

Graduates of the Theoretical Computer Science branch of study are ready for a career as analysts or system designers in development and research teams. They are able to work at a variety of positions that require the ability to solve complex algorithmic problems or optimize existing solutions.

More information

Responsible person for the content of this page: 
Miroslav Balík,

Last modified: 23.1.2016, 16:17