Sinigudnum logo
Software and information engineering

Software engineering is a clearly defined field of specialization that is focused on the design and implementation of high quality and highly complex software systems.

The Software and Information Engineering study program offers students advanced theoretical knowledge in software engineering, as well as practical knowledge that includes state-of- the-art software technologies (Internet, Web, Cloud) and mastering the skills of their routine use. Candidates acquire knowledge that will enable them to advance in the field of IT, primarily in the area of the development of highly complex software systems (software development project management, software design, programming, testing), but also in the area of software support operations (commissioning, configuration, monitoring).

What makes this study program special is the Domain Engineering elective block that provides students with expertise in a selected, non-computer domain areas, thus making them qualified for the most complex software design tasks in that domain. Furthermore, the curriculum plan encompasses the entire life cycle of software systems (development, operational work, quality assurance) through the consistent application of DEVOPS approach that combines the processes of development and exploitation of complex software systems. This program is conducted in Serbian and English.

hatUpon successfully completing the studies, students acquire the title of MSc Software Engineer.

Fill out the pre-admission form

I semestar

Students acquire the competences needed to understand the current methodological approaches in development of complex software systems and their application, and to anticipate future methodological directions in the domain of complex software systems development.

Students acquire the competences needed to understand contemporary software architectures and their application in the development of complex software systems, and to anticipate future directions of software architecture development.

Students acquire the competences needed to understand the structure, functions and architecture of modern development and production tools in the domain of software. Students acquire the skills necessary for the routine use of selected tools and/or environments for the development and production of complex software systems.

Students acquire the competences necessary for specifying and modeling software components and systems at different levels of abstraction. Students are able to model complex software systems of high complexity and to use selected software tools for system modeling in the field of software.

Students understand the principles and practice of the domain of guided software design and domain-specific languages and are able to design and implement a complex software product using domain-led software development and domain-specific languages.

Students become competent to critically analyze and select software components/services and to create complex software systems by integrating them.

Students acquire thorough knowledge and understanding of concepts of correctness, consistency, error and failure, static analysis and testing. They understand the use of formal logic as a language for system specification; they understand the use of symbolic execution and the main verification techniques used in symbolic model checking, and are capable of verifying simple systems. In addition, they understand the range of different test approaches that can be applied to software systems and are able to apply the black and white box method to unit testing.

Students acquire the competences necessary for specifying and modeling software components and systems at different levels of abstraction. Students are able to model complex software systems of high complexity and to use selected software tools for system modeling in the field of software.

Students understand the principles and practice of the domain of guided software design and domain-specific languages and are able to design and introduce a complex software product using domain-led software development and domain-specific languages.

Students become competent to critically analyze and select software components/services and to create complex software systems by integrating them.

Students acquire thorough knowledge and understanding of concepts of correctness, consistency, error and failure, static analysis and testing. They understand the use of formal logic as a language for system specification; they understand the use of symbolic execution and the main verification techniques used in symbolic model checking, and are capable of verifying simple systems. In addition, they understand the range of different test approaches that can be applied to software systems and are able to apply the black and white box method to unit testing.

II semestar

Students are acquainted with principles, concepts and methods for designing and evaluating both the existing and future, newly created, financial instruments. Students are trained to implement selected methods using available software solutions.

Students understand basic concepts and are fully acquainted with the terminology and standards in the field of geospatially determined processes. They are familiar with specific sensor technologies in the field, as well as with the specifics of geospatial process and data management software. They are competent to participate in the development of complex software solutions designed to manage geospatial processes and data and are familiar with research trends in the domain of geographic information systems.

Students understand the life cycle of data and engineering data techniques. They are able to carry out the engineering tasks of large data sets and to document them. They understand the basic principles of data analysis and are able to explain how they can be applied in different domains. They understand the relevant standards and practices in the domain of data engineering.

Students are trained to identify the problem(s) that require a research approach in the development of a software system at the medium complexity level in a specific domain of application and to select and apply adequate research methodology/tools.

Students are acquainted with the requirements that need to be fulfilled for rapid and effective inclusion in the work processes of organizations involved in the production and software implementation in the production processes and/or sales and IT consulting activities. Students have the basic knowledge and skills needed to quickly and effectively engage in the work processes of these organizations.

Students become competent to identify the problem, perform the analysis, and specify the model of the software system at the medium complexity level using methodological approaches and software engineering technologies, to implement it by means of modern technologies and software engineering tools, to critically evaluate the results obtained and to determine further work directions.

  • The candidate takes six exams. The Project Assignment 1 integrates three compulsory courses from the first semester, whereas the Project Assignment 2 integrates elective courses from the first and second semester.
  • During the course of the lectures, the candidate defines the topic of their master's thesis. The Project Assignments from the first and second semester can be integrated into master's thesis.
  • Research paper is integrated into project assignments and master's thesis.
  • Professional internship is carried out in IT sector organizations.