Programming skills are essential but not enough to develop large and complex software systems that require the coordination of a team of specialists. Software engineering is about the development of such moderns software systems. The course is about software engineering in practice. Students will learn how to go beyond programming, how to coordinate a team of specialists, how to apply modern methodologies and techniques. Students will experience with state of the art tools to understand the role of automation for developing software systems and coordinate the work of a team.