Coordinated by: Department of Distributed and Dependable Systems
Study branch coordinator: Prof. Ing. Petr Tůma, Dr.
This program invites students with deep interest in programming languages and system-oriented programming. It offers three specializations - System Programming, which focuses on the design and implementation of the basic software layers of a computer system, including the operating system, virtual machine layers and middleware, Dependable Systems, where the curriculum deals with systematic construction of systems with high reliability, such as embedded and real-time systems, and High Performance Computing, which introduces techniques for software development on high performance computing systems, that is, highly parallel systems, distributed systems, and clouds.
Code | Subject | Credits | Winter | Summer | |
NTIN066 | Data Structures 1 | 6 | — | 2/2 C+Ex | |
NTIN090 | Introduction to Complexity and Computability | 4 | 2/1 C+Ex | — | |
NSZZ023 | Diploma Thesis I | 6 | — | 0/4 C | |
NSZZ024 | Diploma Thesis II | 9 | 0/6 C | — | |
NSZZ025 | Diploma Thesis III | 15 | — | 0/10 C |
The core content of the program is provided through elective courses, where the students need to collect a minimum of 48 credits in courses of their choice. See also the course content suggested for the knowledge part of the State Final Exam.
Code | Subject | Credits | Winter | Summer | |
NSWI026 | Advanced aspects of software engineering | 5 | — | 2/2 C+Ex | |
NSWI161 | Advanced Operating Systems | 3 | — | 2/0 Ex | |
NPRG058 | Advanced Programming in Parallel Environment | 6 | 2/2 C+Ex | — | |
NSWI126 | Advanced Tools for Software Development and Monitoring | 2 | — | 0/2 C | |
NSWI057 | Advanced topics in distributed and component-based systems I | 3 | 0/2 C | 0/2 C | |
NSWI152 | Cloud Application Development | 2 | — | 0/2 C | |
NSWI133 | Commercial Workshops | 2 | 0/2 C | 0/2 C | |
NSWI109 | Compiler Design | 4 | — | 2/1 C+Ex | |
NPRG014 | Concepts of Modern Programming Languages | 4 | 0/3 C | — | |
NDBI042 | Data Visualization Techniques | 4 | — | 2/1 C+Ex | |
NAIL094 | Decision procedures and SAT/SMT solvers | 5 | — | 2/2 C+Ex | |
NSWE001 | Embedded and Real Time Systems | 5 | — | 2/2 C+Ex | |
NTIN043 | Formal Foundations of Software Engineering | 5 | 2/2 C+Ex | — | |
NSWI089 | Information Security 1 | 3 | 2/0 Ex | — | |
NSWI071 | Information Security 2 | 3 | — | 2/0 Ex | |
NSWI080 | Middleware | 4 | — | 2/1 MC | |
NSWI164 | Model-driven Development | 2 | 0/1 C | — | |
NSWI131 | Performance Evaluation of Computer Systems | 4 | — | 2/1 C+Ex | |
NSWI176 | Practical Dynamic Compilation | 2 | — | 0/2 C | |
NSWI035 | Principles of Distributed Systems | 3 | 2/0 Ex | — | |
NMAI060 | Probabilistic Methods | 3 | 2/0 Ex | — | |
NSWI132 | Program Analysis and Code Verification | 5 | — | 2/2 C+Ex | |
NSWI054 | Software Engineering for Dependable Systems | 3 | — | 0/2 C | |
NSWI101 | System Behaviour Models and Verification | 5 | 2/2 C+Ex | — | |
NSWI150 | Virtualization and Cloud Computing | 3 | 2/0 Ex | — | |
NSWI151 | Virtualization Infrastructure Administration | 3 | — | 0/2 C |
The programme involves taking a number of courses from the preceding bachelor programme with a total of at least 8 credits. This obligation can also be fulfilled by recognizing courses already taken from the preceding bachelor programme per existing regulations. The relevant bachelor programme courses are:
Code | Subject | Credits | Winter | Summer | |
NPRG038 | Advanced C# Programming | 5 | — | 2/2 C+Ex | |
NPRG051 | Advanced C++ Programming | 5 | — | 2/2 C+Ex | |
NPRG021 | Advanced Java Programming | 5 | — | 2/2 C+Ex | |
NSWI153 | Advanced Programming of Web Applications | 5 | — | 2/2 C+Ex | |
NPRG043 | Recommended Programming Practices | 5 | — | 2/2 MC | |
NPRG054 | High Performance Software Development | 6 | — | 2/2 C+Ex | |
NPRG056 | Mobile Devices Programming | 3 | 0/2 C | — | |
NPRG042 | Programming in Parallel Environment | 6 | — | 2/2 C+Ex | |
NSWI143 | Computer Architecture | 3 | — | 2/0 Ex | |
NSWI098 | Compiler Principles | 6 | 2/2 C+Ex | — |
The program requires passing one of the team project courses:
Code | Subject | Credits | Winter | Summer | |
NPRG069 | Software Project | 12 | 0/8 C | 0/8 C | |
NPRG070 | Research Project | 9 | 0/6 C | 0/6 C | |
NPRG071 | Company Project | 6 | 0/4 C | 0/4 C |
The requirements for the knowledge part of the State Final Exam are specified per program specialization.
The exam for this specialization tests knowledge and skills related to system programming and internal function of software systems, as presented in these courses:
Code | Subject | Credits | Winter | Summer | |
NSWI161 | Advanced Operating Systems | 3 | — | 2/0 Ex | |
NPRG058 | Advanced Programming in Parallel Environment | 6 | 2/2 C+Ex | — | |
NPRG014 | Concepts of Modern Programming Languages | 4 | 0/3 C | — | |
NSWI080 | Middleware | 4 | — | 2/1 MC | |
NSWI035 | Principles of Distributed Systems | 3 | 2/0 Ex | — |
The exam for this specialization tests knowledge and skills related to design and construction of dependable software systems, as presented in these courses:
Code | Subject | Credits | Winter | Summer | |
NSWE001 | Embedded and Real Time Systems | 5 | — | 2/2 C+Ex | |
NTIN043 | Formal Foundations of Software Engineering | 5 | 2/2 C+Ex | — | |
NSWI164 | Model-driven Development | 2 | 0/1 C | — | |
NSWI132 | Program Analysis and Code Verification | 5 | — | 2/2 C+Ex | |
NSWI101 | System Behaviour Models and Verification | 5 | 2/2 C+Ex | — |
The exam for this specialization tests knowledge and skills related to high performance computing systems, as presented in these courses:
Code | Subject | Credits | Winter | Summer | |
NPRG058 | Advanced Programming in Parallel Environment | 6 | 2/2 C+Ex | — | |
NSWI109 | Compiler Design | 4 | — | 2/1 C+Ex | |
NSWI131 | Performance Evaluation of Computer Systems | 4 | — | 2/1 C+Ex | |
NSWI035 | Principles of Distributed Systems | 3 | 2/0 Ex | — | |
NSWI150 | Virtualization and Cloud Computing | 3 | 2/0 Ex | — |