Abbreviations

**p-sz** - obligatory module of common theoretical basis, obligatory for all specialisations,

**pv-ob** - elective branch module, obligatory for selected branches,

**pv-za** - elective specialisation module, obligatory for selected specialisations,

**p-hu** - obligatory humanity module,

**p-em** - iobligatory economical-management module,

**p-pr** - obligatory project,

**pv-hu** - elective humanity module,

**v** - elective module.

module (abbreviation) | dimension | completion | type of module | lecturer | recom. year |

Statistics for Informatics ( MIE-SPI ) | 4+1 | z,zk | p-sz | Blažek, Ph.D. | 1. |

Parallel Algorithms and Systems ( MIE-PAR ) | 3+1 | z,zk | p-sz | prof. Tvrdík | 1. |

Systems Theory ( MIE-TES ) | 2+1 | z,zk | p-sz | prof. Moos | 1. |

Parsing and Compilers ( MIE-SYP ) | 2+1 | z,zk | pv-ob | prof. Melichar | 1. |

Efficient Text Pattern Matching ( MIE-EVY ) | 2+1 | z,zk | pv-za | doc. Holub | 1. |

Cybernality( MIE-KYB ) | 2+0 | zk | p-hu | doc. Jirovský | 1. |

Mathematics for Informatics ( MIE-MPI ) | 4+1 | z,zk | p-sz | doc. Šolcová | 1. |

Functional and Logical Programming ( MIE-FLP ) | 2+1 | z,zk | pv-ob | Janoušek, Ph.D. | 1. |

Code Generators ( MIE-GEN ) | 2+1 | z,zk | pv-za | Janoušek, Ph.D. | 1. |

Data Compression ( MIE-KOD ) | 2+1 | z,zk | pv-za | doc. Holub | 1. |

elective module | 2+1 | z,zk | v | 1. | |

elective module | 2+1 | z,zk | v | 1. | |

Project Management ( MIE-PRM ) | 1+2 | z | p-em | Vala | 1. |

Complexity Theory ( MIE-CPX ) | 2+1 | z,zk | pv-ob | prof. Kučera | 2. |

Security and Secure Programming ( MIE-BPR ) | 2+1 | z,zk | pv-za | doc. Lórencz | 2. |

Runtime Systems ( MIE-RUN ) | 2+1 | z,zk | pv-za | Vraný | 2. |

Master project ( MIE-MPR ) | z | p-pr | 2. | ||

elective module | 2+1 | z,zk | v | 2. | |

elective module | 2+1 | z,zk | v | 2. | |

Information Security ( MIE-IBE ) | 2+0 | zk | p-em | Čermák, CSc. | 2. |

elective module | 2+1 | z,zk | v | 2. | |

IT Support to Business and CIO Role ( MIE-CIO ) | 3+0 | zk | p-em | prof. Dohnal | 2. |

obligatory humanity module | zk | pv-hu | 2. | ||

Master Thesis (MIE-DIP) | z | p-pr | 2. |

- Introduction to secure programming, current security trends.
- Threat modeling.
- Security at the memory hierarchy level.
- Writing secure code in C.
- Security levels, Access Control Lists (ACL).
- Running a program with low privileges.
- Data security and integrity.
- Data input, canonical representation, and security.
- Security of databases.
- Web, internationalization, and security.
- Security of sockets and RPC.
- Defence against Denial of Service attacks.
- Recap of rules for writing secure code.

- Introduction. IT trends and business support. CIO and CEO relationship. ICT Management (categorization, management models, services, processes).
- CIO role, responsibility. CIO Decision Cycle (business goals, innovation, strategy, plan, execution, measurement).
- The value chain and ICT support. Marketing and selling processes, business cycle.
- CIO priorities: Team management. Understanding of the business environment. ICT vision. Shape ICT demand and communicate expectations. IT Governance.
- CIO priorities: Bring business and ICT strategies together. Communication of the ICT value to business. Risk Management.
- CIO priorities: Creation of a new ICT. Change in the profile of ICT people. ICT competencies (technical, business, behavioral).
- ICT business cases on workforce (time management, meeting management, delegation).
- ICT business cases on workforce (appraisal, coaching, mentor, mentee).
- CRM as an example of ICT support of business processes. CRM and enterprise culture.
- CRM processes.
- CRM Technology. CRM innovation and the role of ICT.
- Specific tasks of ICT management (sourcing, cost cutting).
- Invited lecturer – CIO of a selected company, discussion.

- Models of computation.\r
- Algorithmic undecidability.\r
- Nondeterminism, the class NP, the existence of an NP-complete problem.\r
- NP-complete problems.\r
- Problem P=NP, relativization, classes coNP and NP intersection coNP.\r
- The class PSPACE, Savitch theorem, hierarchy in PSPACE.\r
- PSPACE-complete problem (quantified formulae and games), complete problem for the hierarchy classes.\r
- Circuit and algebraic complexity.\r
- Randomized algorithms, complexity classes of randomized algorithms (classes BPP, ZP, RP).\r
- One-way functions, pseudorandom sequences, discrete logarithm, cryptography.\r
- Interactive proofs, probabilistically verifiable proofs, expanders, gap problem, PCP theorem, non-aproximability of 3SAT.\r

- Introduction, basic definitions.
- Border array and exact pattern matching.
- Exact pattern matching algorithms.
- FFT in pattern matching.
- Text full index: Suffix array.
- Text full index: Suffix tree, LCP construction.
- Text full index: Factor, suffix automata, on-line construction.
- Succinct data structure: rank & select.
- Succinct data structure: wavelet tree.
- FM-Index.
- Dictionary representation, spell checking.
- Approximate pattern matching.
- Pattern matching in bioinformatcs and musicology.

- Declarative programming languages. Lambda calculus as a formalism for functional programming.
- Basic data types and functions in Lisp, lists.
- Variables, type predicates, recursion and iteration in Lisp.
- Mapping functionals, control statements.
- Input and output, macros.
- Structures, vectors, arrays, hash tables.
- Implementation of Lisp.
- Predicate logic, Horns clauses and SLD resolutions as an introduction to Prolog.
- Predicates, clauses, facts, operators in Prolog.
- Control of the computation in Prolog, lists.
- Data structures, input, output.
- Implementation of Prolog.
- Logic programming and proof trees - relation to attributed grammars.

- Overview of constructs of programming languages.
- Basic notions: types, variables, type compatibility and dynamic data structures.
- Basic notions: activation record, calling conventions.
- Internal forms.
- Direct code generation, AST $\to$ DAG $\to$ BB.
- DAG analysis, BB, dependencies and antidependencies.
- Register allocation, memory allocation (static, on the stack).
- Intermediate code optimization.
- Code generator, instruction selection.
- Translation of a stack-based language into the native HW, HW dependent optimizations.
- Modules and separate compilation.
- Support for debugging.
- Code generators for object-oriented programming languages.

- Management, management and governance, IT management.
- Information security management system, IS/ICT governance, international standards on IS/ICT security, legislation in the Czech Republic.
- Risk management.
- Physical security, access control system, information resource valuation, internal and external threats, evaluation of countermeasures,
- Administration security (guidelines, training).
- Disaster recovery planning, business continuity management, incident management,
- IS/IT audits, application security testing, penetration testing, certifications.
- Certification according ISO 27001, Best practises (ISO 17999),
- Information security trends.

- Introduction, entropy, models, elementary methods.
- Coding of integers.
- [2] Statistical methods: Shannon-Fano coding, Huffman coding, arithmetic coding.
- [2] Dictionary methods: LZ77, LZ78, LZW.
- [3] Context methods: PPM, DCA, ACB.
- Burrows-Wheeler compression.
- Pattern matching in a compressed text.
- Word-based compression.
- [2] Introduction to lossy compression (image, audio, video).

- Basic leslative norms relevant for operation of computer systems and networks, basic notions.
- Classification of attacks.
- Systems for computer network operation monitoring.
- Cybernetic attacks, psychologic and social aspects of a cybernetic attack, life cycle of exploiting the system weaknesses.
- Hackers - hacker comunity, types and motivations of the hacker behaviour.
- Cyberterorism, its demonstration and methods.
- Principles of infoware, the role of intelligent agents, strategic information warfare.
- Principles of attacks on the web, trends of attacks and attackers, phases of an attack, coordination and management of an attack.
- Basic types of attacks - DoS, forged node, manipulation with address sequences.

- [2] Universal algebra: groups, finite groups, Cayley tables, group types, permutation, alternating, cyclic, and symmetry groups, normal subgroups.
- Finite fields, prime order of field, rings and their properties, integral domain, ideal. Lattices.
- Introduction to category theory, classes of objects, classes of morphisms and its properties, examples of categories: grupoid, category of all lattices, category of all commutative groups, category of all integral domains, category of all relations. Homomorphisms.
- Selected problems of graph theory, types of Hamiltonian problems. Algebraic solutions of combinatorial problems, Polya enumeration theorem.
- Algebra and algorithms (Algorithms for calculations of polynom roots - Newton' method, Lehmer-Schur's method, etc.).
- Convex sets, convex hull, pure convex set, theorem on partition of convex sets, Minkowski theorem on projection.
- Selected problems of number theory, quadratic congruence, Gauss algorithms. Special primes - factorial, palindromic, cyclic, Gauss', Eisenstein's primes. Examples of applications.
- Properties of Fermat primes, Little Fermat Theorem, primality tests, Pépin test, number theory and geometry, constructability of polygons.
- Selected numerical methods, Lagrange and Hermite interpolation, numerical integration, numerical solution of ordinary differential equations, calculating of eigenvalues of matrices, methods of solving of linear equations systems.
- Fast algorithms: multiplication, numerical searching of square roots, Fourier transformation, Fermat transformation.
- Axiomatic systems and their properties, recursive functions, proofs in the axiomatic system, examples of axiomatic systems, Peano's arithmetics, von Neumann's model of numbers.
- Special logics, multi-valued logics, modal logics, fuzzy logics.

- Performance characteristics of parallel computations.
- Models of parallel systems with shared memory.
- Interconnection networks of parallel computers.
- Embeddings and simulations of interconnection networks.
- Models for interprocessor communication and routing.
- Collective communication algorithms.
- Fundamental parallel algorithmics.
- Parallel sorting algorithms.
- Parallel algorithms for linear algebra.
- Parallel combinatorial space search.

- Project management, project, process. Definition of project participants, aims, metrics, quantification, planning, budget.
- Role of the project manager (presentation, levels of communication, duties). Life cycle and stages of a project.
- Project documents. Pre-business and business stages of a project.
- Preparation and realization stages of a project. Operation and closure of a project.
- Stabilization of a project, feedback, control mechanisms (methodical, contractual, or matter-of-fact supervision), risk management.
- Contractual arrangement of a project, business negotations, quality of delivery (SLA, security), warranty.
- Demand, definition of services, evaluation of proposals, the act of public contracts, evaluation criteria.
- Financial control.
- Project team management - human resources (roles, CIO, conducting a meeting, written records, tasks).
- Management of large projects (by area, by volume). Multiproject enviroment (reporting, coordination).
- Principles of methodology of poject management – Prince2, PMI. Quality management of project according to norms ISO 10006, ISO 9001.
- Setting up project management to company (linear x project management, process management).
- Particularities of project management of IS development.

- Runtime for C/C++, static vs. dynamic linking, position independent code, memory management.
- Calling conventions, system calls, signals and exceptions.
- Virtual machines for high-level languages: JVM, MSIL, Squeak, SELF.
- Organization of object heap. Object table. Immediate values.
- Memory management, basic garbage collection methods.
- Bytecode and its interpretation.
- Just-in-time compilations, method lookup optimizations techniques.
- Advanced optimization techniques: inlining, custom-compilation. SELF SIC.
- Thread implementation. Green vs. Native threads.
- JVM: mapping of threads and synchonization primitives to OS resources.
- Exceptions - implementation in C++, JVM, Smalltalk.
- Security mechanisms in VMs. Verification of the bytecode. Security Manager.
- Foreign function calls. Cross-language calls.
- VM Bootstrap. metacircular VM.

- Basics of Probability Theory: Probability Space, Definitions, Properties, Sigma-continuity, etc.
- Basics of Probability Theory: Conditional Probability, Independence, Commented Examples
- Basics of Probability Theory: Random Variables, Cumulative Distribution Function, Probability Density Function, Dependence, Random Vectors, Marginal and Joint Distribution
- Basics of Probability Theory: Conditional Distribution, Conditional Expectation, Characteristics of Random Variables, Selected Examples of Probability Distributions
- Basics of Probability Theory: Poisson Process, Simulation Methods, Generating Functions
- Basics of Probability Theory: Strong Law of Large Numbers (SLLN), Central Limit Theorem (CLT), Large Deviations, Entropy
- Discrete-time Markov Chains with Finite State Space: Basic Concepts, Irreducibility and Periodicity of States, Absorption Probability, Stopping Times
- Discrete-time Markov Chains: Examples: Generalized Random Walk, Random Walk on a Graph, Gambler's Ruin, Coupon Collector
- Discrete-time Markov Chains: Asymptotic Stationarity, Uniqueness and Existence of Stationary Distributions, Convergence
- Discrete-time Markov Chains: Branching Processes, Birth & Death processes
- Monte Carlo Methods: Markov Chain Monte Carlo (MCMC) – Basic Concepts and Examples
- Monte Carlo Methods: Fast convergence of MCMC, Propp-Wilson Algorithm, Sandwiching, Simulated Annealing
- Monte Carlo Methods: Monte Carlo Estimates, Monte Carlo Tests, Reduction of Variance
- Stochastic Processes: Definition, Distribution Function, Characteristics of Stochastic Processes
- Stochastic Processes: Characteristics and Classification of Stochastic Processes, Examples
- Basics of Queueing Theory: Elements of Queueing Systems, Request Arrival Process, Queueing Policy, Service Policy, Kendall Notation
- Stochastic Processes: Application of the Poisson Process to Model Arrivals in Queueing Systems
- Stochastic Processes: Application of the Poisson Process in Queueing Theory
- Stochastic Processes: Non-homogeneous Poisson Process, Spatial Poisson Process, M/G/infinity Queue
- Continuous-time Markov Chains: Jump Rates, Timing Jumps by Poisson Process Arrivals, Kolmogorov Equations
- Basics of Queueing Theory: M/M/m Queues, Queueing Systems
- Basics of Queueing Theory: Open and Closed Queueing Systems
- Bootstrap Methods: Properties of Bootstrap Approximations, Bootstrap Correction of Estimation Bias
- Bootstrap Methods: Bootstrap Confidence Intervals, Permutation Bootstrap
- Bootstrap Methods: Bootstrap Confidence Intervals for Parameters in Linear Regression
- Estimation of Probability Density Functions: Histogram, Kernel Estimates, Maximum Likelihood Estimation, Estimation by the Method of Moments

- Recapitulaton of basic notions, LL parsing.
- Classification of LR parsers.
- Strong LR(k) parsing.
- LR(0) and SLR(1) parsing.
- LALR(k) and LR(k) parsing.
- Translation directed by an LR parser.
- Evaluation of attributes during LR parsing.
- LR attributed translation.
- Intermediate representation.
- Incremental LL parsing.
- Incremental LR parsing.
- Parallel LL parsing.
- Parallel LR parsing.

- System definition. Structural and functional concept of a system.
- Compositional and dynamic systems. Hard and soft systems.
- Identification of a system.
- Structural tasks of the system analysis. Paths and feedbacks.
- Tasks of decomposition and composition of a system and tasks of system goals.
- System behavior, behavior models, the notion of a process.
- Formalisms for the analysis of model behavior: Petri nets, decision tables.
- Bulk analysis and other methods of system analysis.
- Soft systems, methods of their analysis.
- Selected methodologies of system design, the SSADM method.
- System synthesis with discrete time.
- Decision and decision processes.
- Information in a system and in its neighborhood, system regularity, system viability.

Last modified: 16.10.2018, 13:53