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, Bellman-Ford'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
Context-free languages and their representations. Variants of stack automata (acceptance methods, determinism and nondeterminism, extended stack automata). Nondeterministic parsing. Closing properties of context-free 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, O-notation. 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, NP-complete 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 -
Tree-based data structures
Tree data structures (binary search trees, B-trees, red-black 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 -
Object-oriented programming II
Object-oriented programming in imperative language, object collaboration, event-driven 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, Boyce-Codd 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. object-oriented 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