Operating system architectures. OS structures, OS services, OS architectures, processes and threads, process and thread run scheduling, process communication and synchronization, deadlocks, memory management and memory virtualization, input and output control.
Algorithms and data structures. Complexity analysis, amortized complexity. Algorithm design techniques (divide and conquer, dynamic programming, hunger strategies). Advanced data structures (heaps, union-find structures). Algorithms for working with strings (Karp-Rabin, KMP, Boyer-Moore algorithms, use of finite automata).
Database. Data encoding, data compression encoding, data file organization. Indexing and hashing, bitmap indexes, dynamic hashing. Query evaluation, transformation rules, statistics and estimates. Query and schema optimization. Database security, access rights. Transactions, concurrent transaction management, disaster recovery systems.
PV062, PA152, PA150
Models of distributed systems. Basic concepts and principles, synchronous and asynchronous communication. Synchronization. Termination detection. The problem of mutual exclusion and the problem of deadlocks and their solutions. The problem of choosing a leader. Influence of topology and its knowledge / ignorance on the complexity of problem solving.
Software engineering. SW development process. Unified Process Methodology. Agile SW development. Testing phases and types of tests. Software metrics, code refactoring. Software quality. Estimation of costs and time of SW development. Maintenance and reusability.
Object-oriented methods of system design. Design patterns. Software architectures. Component interfaces, signatures and service constraints, OCL. Component systems and models, qualitative aspects of services (QoS). Object-oriented methods of software development, RUP.
Data transfer technology. Signals, digital and analog broadcasting, data coding, multiplexing, error control, media access control methods and overall data link control.
Computer networks. Principles, architecture. Connected and unconnected networks, OSI model, protocols in the Internet environment. Routing, basic computer network services, network administration and security. Advanced network and transport protocols, distributed applications, application layer protocols.
PA151, PA159 , PA160
Information security. Principles of security management in the organization, risk management, information security policy, information security management system, evaluation of the level of information security.
Finite automata (FA) and logics over words. 1st order logic (FOL) and 2nd order monadic logic (MSOL): syntax and semantics of FOL and MSOL, principles of transferability between FA and MSOL formulas. Automata over infinite words and omega-regular languages.
Graphs and graph algorithms. Formalization of basic graph concepts, representation of graphs. Coherence of a graph, chromaticity, planar graphs. Algorithms (including complexity): searching the graph in width and depth, shortest distances, skeletons, flows in networks.