Bachelor's final examination
For each question, there are also codes of subjects that cover the issue (this is only an indicative list).
Theoretical foundations of computer science and mathematics

Sets, relations and representations
Basic set operations. Relations and their properties  equivalences and decompositions, arrangements and ordered sets. Composition of sessions, display (injection, surjection, bijection).
IB000, MB101 / MB201 
Elementary number theory
Divisibility, Euclidean algorithm, modular operations, prime numbers and its testing, application of number theory (RSA, DSA, linear and polynomial codes).
MB104 / MB204 
Logic
Propositional and predicate logic, operations, quantifiers, syntax. Semantics, truthfulness, satisfiability, provability. Normal forms of formulas (conjunctive and disjunctive, prenex, Horn clauses).
IB000, IB101 
Linear algebra I
Operations with vectors and matrices, properties of linear operations and scalar product, solution of a system of linear equations. Gaussian elimination, determinant.
MB101 / MB201 
Linear algebra II
Eigenvalues and vectors, their geometric meaning, inverse matrices, vector subspaces, vector bases. Affine objects, affine transformations.
MB101 / MB201 
Combinatorics and probability
Elementary combinatorics (combinations, permutations, variations), solving simple combinatorial problems. Probability, conditional probability (Bayes' theorem).
MB101 / MB201, MB103 / MB203 
Statistics
Descriptive statistics, mean, median, variance, correlation. Estimates of statistics and their reliability. Distribution functions, distribution of random variables and their examples.
MB103 / MB203 
Mathematical analysis
Properties of real functions, polynomials, continuous functions and limits, derivatives, indefinite and definite integral, geometric meaning. Differential equations and their meaning.
MB102 / MB202, MB103 / MB203 
Graphs
Types of graphs, trees, degrees of vertices, oriented graphs, representations of graphs. Graph depth and width search algorithms and their use. Context components.
IB000, IB002 
Graph problems
Evaluated graphs, definition of the shortest path, minimum skeletons of a graph, algorithms for finding the shortest paths (Dijkstra's, BellmanFord's algorithm) and minimum skeletons in a graph.
IB000, IB002 
Formal languages I
Chomsky's hierarchy of formal languages. Regular languages, their representations and conversions between them. Finite state machine variants. Nondeterminism and determinization of automata. Closing properties of regular languages.
IB102 / IB005 
Formal languages II
Contextfree languages and their representations. Variants of stack automata (acceptance methods, determinism and nondeterminism, extended stack automata). Nondeterministic parsing. Closing properties of contextfree languages.
IB102 / IB005 
Computability
Turing machine. Stop problem. Decidability and partial decidability, indecidability. Method of reduction, diagonalization.
IB102 / IB005 + IB107 
Correctness and complexity of the algorithm
Partial and total correctness, proofs of correctness. Asymptotic complexity, Onotation. Justification of the correctness and complexity of basic algorithms (eg sorting algorithms, binary search).
IB002, IB102 / IB107 
Complexity
Algorithm complexity versus problem complexity. Complexity classes (P, NP, PSPACE) and relationships between them, examples of problems from individual classes. Difficulty and completeness of the problem in a given class, polynomial reduction of problems, NPcomplete problems.
IB102 / IB107 
Basic data structures.
Basic abstract data structures (list, set, stack, queue), related operations and their complexity. Typical implementations, application examples.
IB111, IB002 
Treebased data structures
Tree data structures (binary search trees, Btrees, redblack trees, heaps), related operations and their complexity. Typical implementations, application examples.
IB002 
Recursive algorithms
Divide and conquer method, advantages and disadvantages of using recursion, elimination of recursion. Explanation of principles and implementation of sorting recursive algorithms. Relationship between recursion and mathematical induction.
IB002, IB015 
Functional programming
Functional programming paradigm (calculation principle, reduction step, reduction strategies and their properties, examples). Higher order functions and their use. Lambda function. Ability of elementary programming in Haskell.
IB015 
Logic programming
Logical programming paradigm (calculation principle, unification, computational trees, queries, free variables). Ability of elementary programming in Prolog.
IB015, IB101
Program, computer and information systems

Programming languages
Data and control structures of programming languages, data types. Compilation, interpretation.
IB111, PB071, PB161 / PB162 
Object Oriented Programming I
Encapsulation, inheritance, polymorphism. Implementation of the above principles of OOP in C ++ or Java (according to your choice).
PB161 / PB162 
Objectoriented programming II
Objectoriented programming in imperative language, object collaboration, eventdriven programming, exceptions. Implementation of the above principles of OOP in C ++ or Java (according to your choice).
PB161 / PB162 
Basic principles of computers I
Numerical systems, relations between number systems, computer display of numbers, principles of arithmetic operations.
PB150 / PB151 
Basic principles of computers II
Combinational and sequential logic circuits. Von Neumann's architecture. Principles of processor operation, interrupts.
PB150 / PB151 
Operating system
Operating system architectures, application programming interface for operating systems. Peripherals, their management, drivers. Processes and threads, synchronization of processes and threads.
PB152 / PB153 
Process planning
The essence and goals of task scheduling in operating systems. Implementation of processor activity planning. Deadlocks, deadlock conditions and deadlock protection methods.
PB152 / PB153 
Working with memory
Memory hierarchy. Working with memory, logical and physical address space, memory management, memory virtualization, segmentation, paging.
PB152 / PB153 
Database I
Relational data model, relational schema, keys of relational schemas, relational algebra (projection, selection, aggregation, renaming), connection of relations.
PB154 
Database II
Functional dependencies, normal forms (1NF, 2NF, 3NF, BoyceCodd NF), relations between normal forms. Decomposition of relational schemas, normalization of schema.
PB154 
SQL.
Command syntax and semantics. Commands for querying and updating data, aggregation functions, triggers, and stored procedures. Commands for data definition, integrity constraints.
PB154 
Transactions and query processing
Transaction processing, its properties. Basic principles of query evaluation (costs of query evaluation, use of indexing and hashing).
PB154 
Computer networks I
Models of computer network layers (ISO / OSI, TCP / IP): functionality and interoperability of layers, addressing. Physical layer, signals and their coding, media access control.
PB156 
Computer networks II
Interconnection of computer networks. Network protocols, switching and routing, multicast. Secured data transfer, connection setup and termination. Transport protocols.
PB156 
Network applications and security I
Basic application protocols: mail delivery, file transfer, web, name service. Principles of description and quality assurance of service, use for multimedia.
PB156 
Network applications and security II
Security of network communication, authentication and encryption, security on individual protocol layers.
PB156 
Software Engineering I
SW life cycle and related activities. Requirements specification and their types. Structured vs. objectoriented methods of analysis and design.
PB007 
Software Engineering II
Testing, verification and validation. Operation, maintenance and further development of the system. The role of UML in supporting SW analysis and design.
PB007 
Data modeling
Design of data structures, graphical expression, conversion to a relational model. ER diagram (entities, attributes, relationships), UML class diagram and their comparison.
PB007