Degree programme objectives
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.
The study is supported by two study plans. Within the "Design and development of software systems" direction, 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). Within the "Deployment and operations of software systems" direction, 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).
Study plans
Studies
- Objectives
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.
The study is supported by two study plans. Within the "Design and development of software systems" direction, 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). Within the "Deployment and operations of software systems" direction, 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).
- Learning Outcomes
After successfully completing his/her studies the graduate is able to:
- understand the complexity of software development and deployment of a large-scale distributed software system;
- design, develop, test and deploy a software system of a realistic size and complexity;
- understand different aspects of software quality and supportive activities contributing to ensuring software quality along the development process;
- work effectively with data, and namely its storage (choose the best storage strategy) and processing (data analytics);
- design systems for high security, on the level of secure coding principles, as well as secure system infrastructure;
- use graphical notations to design, plan and document a software development project;
- build on their practical experience with selected technologies and programming languages when advancing their skills on real projects in industry;
- work effectively within a software development team.
- Occupational Profiles of Graduates
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.
- Practical Training
In the Software Engineering study programme, students complete a compulsory internship of 10 weeks/400 hours within one semester. Information on internships can be found in the Course Catalogue, in the study materials of the course or on the website.
- Goals of Theses
The diploma thesis is expected to demonstrate above all the ability to independently participate in a larger software project (either as a standalone application, or a significant extension to existing software system) and to be able to deploy or integrate the work into practice (in a form of exposition in a public repository, standalone installation package, etc.). The thesis can be written in Czech, Slovak or English language. The prescribed structure of the textual part of the thesis includes the sections Copy of the Declaration of the Author of the School Work, the Declaration of Authorship, Content, Text of the Work, and References. The minimum expected volume of the thesis is 40 standard pages of text (including illustrations).
- Access to Further Studies
After completion of the studies, it is expected that the graduate moves to industry. It is however possible for them to continue within the Computing Technology and Methodology doctoral study programme at FI MU (after satisfying the admission requirements).