Software Engineering Lab

Basic introduction to principles of software engineering including unit testing, test driven development, refactoring, CI, and automation.


We published the paper Teaching Software Engineering As Programming Over Time in the IEEE/ACM 4th International Workshop on Software Engineering Education for the Next Generation which contains further details on this course.

Guest Speakers

I am very grateful to all guest speakers who took the time to prepare and give a talk in this course. The following table lists all guest speakers and their talks.

Speaker Date Topic
Phil Nash June TBD, 2024 TBD
Robert C. Martin (“Uncle Bob”) December 12, 2023 Basic Test Driven Development
Klaus Iglberger January 9, 2023 What is C++? - A Historical Perspective
Titus Winters June 13, 2022 Software Engineering - Principles aka SWE Book Theses

Course Description

Software engineering skills of any engineer become more important with the ongoing digitization and automation. Software engineering means not only delivering an implementation that fulfills the requirements and generates correct results. A second highly important aspect is to deliver software that can be maintained by multiple contributors, over months, years or even decades. This lifetime aspect and the number of developers contributing to the software introduces additional requirements and challenges in the development process. Software has to be testable, readable, and extendable. Concepts such as unit tests, code reviews, and continuous integration support writing software with these characteristics.

Details at the chair’s webpage.

Supervised Years

  • SS24
  • WS23/24
  • SS23
  • WS22/23
  • SS22
  • WS21/22
  • SS21


I learned a lot while creating this course at the Chair of Media Technology. I want to thank Christoph Bachhuber and Kevin Meyer for their contributions and discussions while working on this course. I also want to thank Prof. Eckehard Steinbach for giving me the freedom and support in creating and running this course.

Markus Hofbauer
Markus Hofbauer
Senior Build Engineer & Associate Lecturer

Senior Build Engineer at Luminar Technologies and Associate Lecturer on Software Engineering at the Technical University of Munich.