FI MU Study Catalogue 2023/2024

Back to introduction page

Software Engineering

follow-up master's program (Czech) with specializations

Software systems are in an increasing way supporting most activities of human endeavour, which puts emphasis on the quality of their design, development, testing, deployment and operations. Software engineering integrates skills, techniques and tools for systematic support of these activities, with emphasis on guaranteed quality of the software product. The goal of the study programme is to build the competencies of the students related to software engineering, including their understanding of deeper relations necessary when developing large-scale software systems, where each individual design decision critically impacts the quality and vitality of the final system or service. An integral part of the education is the practical training in terms of software development, as well as working within a software team, including experience with team-leading. These skills are necessary for meeting the expectations of the relevant job positions in industry. The practical skills will be acquired mainly within internships in industry, but also when leading projects of bachelor students at the faculty. Given that the degree program is accredited in a professional profile, the content of the curriculum include six weeks of compulsory practice.

The graduates of this study programme are equipped for the position of a senior software developer (in case of the Design and development of software systems) and a deployment (or DevOps) engineer (in case of the Deployment and operations of software systems), including leading roles within software development teams.

Requirements for successful graduation

Compulsory subjects of the program

PA017 Information Systems Management
PV157 Authentication and Access Control
PV260 Software Quality
PA179 Project Management
PA053 Distributed Systems and Middleware
SOBHA Defence of Thesis
SZMGR State Exam (MSc degree)
SA200 Internship - Software Engineering
Programing Obtain at least 12 credits by passing subjects of the following list
IA014 Advanced Functional Programming
IB016 Seminar on Functional Programming
PA165 Enterprise Applications in Java
PV179 System Development in C#/.NET
PV168 Seminar in Java programming
PV178 Introduction to Development in C#/.NET
PV264 Seminar on programming in C++
PV248 Python Seminar
PV249 Development in Ruby
PV255 Game Development I
PV197 GPU Programming
PV198 Onechip Controllers
PV239 Mobile Application Development
PV281 Programming in Rust
PV288 Python
PV292 Multiplatform Flutter Application Development
Advanced Programing Pass at least 1 course of the following list
PA165 Enterprise Applications in Java
PV179 System Development in C#/.NET
Data Storage Pass at least 1 course of the following list
PV003 Relational Database System Architecture
PA152 Efficient Use of Database Systems
Networking Pass at least 1 course of the following list
PA159 Net-Centric Computing I
PA191 Advanced Computer Networking

Specialization: Design and Development of Software Systems

Within the Design and development of software systems specialization, the emphasis is put on the design of high-quality software architecture and skills in programming and software development as such (including user-interface design, secure coding principles, data analytics).

Compulsory subjects of the specialization

PA103 Object-oriented Methods for Design of Information Systems
PA187 Project managment and project
PA036 Database System Project
Extended Programing Obtain at least 17 credits by passing subjects of the following list
IA014 Advanced Functional Programming
IB016 Seminar on Functional Programming
PA165 Enterprise Applications in Java
PA200 Cloud Computing
PV179 System Development in C#/.NET
PV168 Seminar in Java programming
PV178 Introduction to Development in C#/.NET
PV264 Seminar on programming in C++
PV248 Python Seminar
PV249 Development in Ruby
PV255 Game Development I
PV197 GPU Programming
PV198 Onechip Controllers
PV239 Mobile Application Development
PV281 Programming in Rust
PV288 Python
PV292 Multiplatform Flutter Application Development
Data Analysis Pass at least 1 course of the following list
PA220 Database systems for data analytics
PA212 Advanced Search Techniques for Large Scale Data Analytics
Design and Analysis Pass at least 1 course of the following list
PV167 Seminar on Design and Architecture Patterns
PV258 Software Requirements Engineering
PV293 Softwarové architectures
Information Security Pass at least 1 course of the following list
PV286 Secure coding principles and practices
PV276 Seminar on Simulation of Cyber Attacks
PV017 Information Technology Security
User Interfaces Pass at least 1 course of the following list
PV247 Modern Development of User Interfaces
PV278 Development of Intuitive User Interfaces
PV182 Human-Computer Interaction

Recommended course of study

Fall 2023 (1. term)
Spring 2024 (2. term)
Fall 2024 (3. term)
Spring 2025 (4. term)

Specialization: Deployment and Operations of Software Systems

Within the Deployment and operations of software systems specialization, the emphasis is put on the design of high-quality infrastructure for the operation of the software system and the ability to interlink the software development with its deployment and operation (including topics like secure infrastructure design, computer networks, cloud computing, UNIX administration).

Compulsory subjects of the specialization

PA195 NoSQL Databases
PA160 Net-Centric Computing II
PV175 MS Windows Systems Management I
PV065 UNIX -- Programming and System Management I
PV077 UNIX -- Programming and System Management II
PA200 Cloud Computing
Information Security Pass at least 2 courses of the following list
PA018 Advanced Topics in Information Technology Security
PA211 Advanced Topics of Cyber Security
PV276 Seminar on Simulation of Cyber Attacks

Recommended course of study

Fall 2023 (1. term)
Spring 2024 (2. term)
Fall 2024 (3. term)
Spring 2025 (4. term)