PVA Questions
Single-disciplinary curriculum
Theoretical foundations of informatics and mathematics- Linear algebra. Operation with vectors and matrices, properties of linear operations and scalar product. Gauss elimination, determinant. Eigenvalues and vectors, their geometric meaning, inverse matrix, vector subspaces, vector bases, affine transformations. (MB151)
- Fundamentals of mathematical analysis. Relations and mappings, properties of real functions, polynomials, continuous functions and limits, derivatives, indeterminate and definite integral, geometric meaning. Differential equations and their meaning. (IB000, MB152)
- Descriptive statistics. Descriptive statistics, mean, median, variance, correlation. Estimates of statistics and their reliability. Distribution functions, distribution of random variables and their examples. (MB153)
- Graphs and their search. Graph types, trees, vertices, oriented graphs, graph representation. Depth and width graph search algorithms and their use. Context components. (IB000, IB002)
- Graph algorithms. Evaluated graphs, shortest path definitions, minimal graph skeletons, shortest path search algorithms (Dijkstr, Bellman-Ford algorithm) and minimal skeletons in a graph. (IB000, IB002)
- Tree data structures. Binary search trees, B-trees, red-black trees, heaps, related operations, and their complexity. Typical implementations, examples of use. (IB002)
- Algorithm design. The divide and rule method, the advantages and disadvantages of using recursion, removing recursion. Explanation of principles and implementation of sorting recursive algorithms. Relation between recursion and mathematical induction. (IB002, IB015)
- Functional programming. Functional programming paradigm (principle of calculation, reduction step, reduction strategies and their properties, examples). Higher order functions and their use. Unnamed features. Ability of elementary programming in Haskell. (IB015)
- Regular languages. Chomsky's hierarchy of formal languages. Regular languages, their representations and conversions between them. Variants of finite automata. Nondeterminism and determination of automata. Closure properties of regular languages. (IB005)
- Decision-making. Concept of algorithmic problem and algorithm. Turing machine and problem of stopping. Decidability and partial decidability, undecidability. Reduction method, diagonalization. (IB107)
- Complexity. Complexity of algorithm versus problem complexity. Complexity classes (P, NP, PSPACE) and relations 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. (IB107)
- Program runtime and control. Subprograms, name ranges, value passing, exceptions, event-driven programming. Object-oriented programming. Encapsulation, inheritance, polymorphism - principles, usage and implementation. Realization in C #, C ++ or Java (of your choice). (PB006)
- Principles of low-level programming. Program memory model; memory management, dynamic allocation, work with user data structures. Low-level memory handling, pointer, array and pointer arithmetic. Debugging methods. (PB071)
- Architecture. Numerical systems, relations between systems, displaying an integer in a computer, arithmetic. Codes, internal, external, detection and correction. Circuits and memories: parameters, architecture. Processor, programming, microprogramming. Architectures: RISC / CISC, buffers. (PB150)
- Database. Relational model of data, relational scheme, key of relational schemes, relational algebra (projection, selection, aggregation, renaming), connection of relations. Functional dependencies, normal forms (1NF, 2NF, 3NF, Boyce-Codd NF), relationships between normal forms. Decomposition of relational schemes, schema normalization. (PB154)
- SQL, transaction and query processing. Command syntax and semantics. Data query and update commands, aggregation functions, triggers and stored procedures, data definition, integrity constraints. Transaction processing, its properties. Basic principles of query evaluation (cost of query evaluation, use of indexing and hashing). (PB154)
- Operating system. Operating system architecture, kernel architecture, basic processor modes. Programming interface, library. User, access rights, virtualization. Virtual memory, process and page tables. Fiber, fiber and process planning. Concurrency, deadlock, resource allocation. Process creation and program execution on POSIX systems, copy-on-write. (PB152)
- File systems. Block device, block layer, I / O scheduler, RAID, disk encryption. Ordinary files, free space allocation, fragmentation. Directory structure and its representation on disk. Memory-mapped input and output. (PB152)
- Networking. Computer network layer models (ISO / OSI, TCP / IP): layer functionality and interoperability, addressing. Physical layer, signals and their coding, media access control. Interconnection of computer networks. Network protocols, switching and routing, multicast. Secure data transfer, assemble and end connections. Transport protocols. (PB156)
- Network applications and security. Basic application protocols: mail delivery, file transfer, web, name service. Principles of description and quality assurance, use for multimedia. Security of network communication, authentication and encryption, security on individual protocol layers. (PB156)
- Basics of information security. Basic security functions and their security - confidentiality, integrity, availability, undeniable origin. Cryptographic primitives, protocols. Risk management, audit, security operations, standards, security assessment. (PV080)
- Information security. Identity and Access Management. Privacy - concepts and methods. Network Attacks. Safe programming and SW development. Applicable safety. (PV080)
- Applied Information Systems. Definition of AIS, application areas of IS: Government, Manufacturing, Healthcare, Warehouses and Commerce. Large Information Systems Architectures. Methods of leading large projects. IS operation management. (PV028)
- Digital systems. Data display theory and information coding including operations. Algebraic, graphical and algorithmic minimization methods. Optimization based on - minimizing delays, minimizing logical elements, testability. Combination Design Elements of Digital Systems - Arithmetic circuits, comparators, multiplexers and demultiplexers, encoders and decoders. Sequential circuits - coding of internal states and its influence on structure. Types and properties of flip-flops. Basic sequential components of digital systems - registers, counters, comparators, controllers and sequencers. (PV170)
- Parallel systems. Basic methods in parallel algorithm design - decomposition, mapping, communication primitives. Performance analysis of parallel algorithms. Shared memory parallel algorithms. OpenMP standard. POSIX Threads. Lock-free access. Parallel Algorithms in Distributed Memory. Message Passing Interface (MPI). (IB109)
- Modern markup languages. Basic XML family standards. An XML application for documents and data. Document Object Model (DOM). Schema Languages (XML Schema). Navigation and querying in XML data (XPath, XQuery). XML Transformation (XSLT). (PB138)
- Application development for mobile platforms. Specifics of mobile development compared to the development of desktop and web applications. Android and iOS and specifics of application development for these OSs. Multiplatform application development. Mobile Application Architecture. The life cycle of a mobile application. (PV239)
- Software quality. Principles of writing clean code. SOLID principles. Refactoring. Software metrics. Automated testing and static code analysis. Performance testing. Quality management processes in SW development. Tactics for higher performance, reliability, scalability and testability. (PV260)