Software Engineering conveys the skills to develop large software systems. It assumes that the students have passed the course on Programming and that they have hence obtained the required programming experience. Software Engineering skills will be required in e.g. different practical courses as well as for the bachelor thesis. The aim of this course is that students shall be enabled to develop large software systems in teams. The corresponding management concepts and technical skills will be conveyed. The course covers the phases of the software engineering life cycle, namely planning, requirements definition and analysis, design, implementation, and testing. Particular emphasis will be placed on UML modelling, middleware, and design patterns. Moreover, process models (such as UP and XP) for software engineering will be presented.

Learning outcomes

Academic: Students shall be enabled to develop large software systems systematically. Soft skills: The students solve the exercises in teams of (e.g.) 5 students. This strengthens their ability to work together and develop software in teams.
Number of credit hours per week 4
Course eligibility Compulsory
Presence of students On-campus