Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

Patterns in Software Engineering (WS 22/23)

Intended Learning Outcomes

You will learn the principles of patterns in software development and the structure of pattern-based software systems. You will also become familiar how to apply patterns in a variety of problem situations and how handle the patterns in concrete applications. You will practice application of the patterns in exercises during the lecture.

Note the special course format: Lectures and exercises are not separated, they are heavily intertwined. The course blends exercises with the lecture: you practice a pattern right after it was introduced in the lecture.

Course Information

  • SWS: 4
  • ECTS: 5
  • Module: IN2081
  • Course description: tbd
  • Prerequisite: Introduction to Software Engineering (IN0006)
  • Time and Location:
    • Lecture including in-class exercises will take place on Monday from 10:00 to 14:00 in HS1
    • The lecture will be live-streamed and recorded.
    • There will be small breaks during class.
  • For slide downloads and discussion regarding class, access
  • Exam: computer-based onsite in multiple lecture halls using Artemis with programming, modeling, text, and quiz exercises multiple choice
    • Note: You need to bring your own notebook to the exam

Sign up for the PSE course now!



Important Information

We will teach the course Patterns in Software Engineering (PSE) as an on-site course in Garching at MI HS 1. We highly encourage you to attend the lecture in person in HS1. There will be a live stream of the lectures on for the rare events when you cannot be present, and recordings available afterward. We recommend to actively participate in the exercises during the lecture. The tutors will be present during the lecture in person and help you in case of problems.

We will provide more information on the course format in the first lecture on Monday, October 24th, from 10:00 to 14:00. Please make sure to attend this lecture!

Our tutors are available in our Slack Workspace to support you. Please sign up at with your (at) email address. You can find materials and exercises in the course "Patterns in Software Engineering (WS 22/23)" on Artemis.

Before the first lecture starts, we would like you to use the free time to repeat 5 patterns that we have already covered in "Introduction to Software Engineering" (EIST). We uploaded the lecture slides, recordings, and exercises to Artemis, they will be available starting on Monday, October 17th. Please review the slides, watch the videos, and complete the exercises before the first lecture on October 24th. This content is also relevant for the examination and the exercise counts towards a grade bonus (we will tell you more about the bonus in the first actual lecture).

If you have not used Artemis before, please log in to with your TUM account and follow the guided tutorials. In case you have questions, please post them on Slack in #tools.

Recommended Reading

  • C. Alexander, S. Ishikawa, and M. Silverstein, A Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977
  • C. Alexander, The Timeless Way of Building, Oxford University Press, 1979.
  • S.W. Ambler, Process Patterns: Building Large-Scale Systems Using Object Technology, Cambridge University Press, 1998.
  • W.J. Brown, H.W. McCormick, and S.W. Thomas, Anti-Patterns and Patterns in Software Configuration Management, John Wiley & Sons, 1999.
  • B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd ed. Prentice Hall, 2009.
  • F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software Architecture Volume 1: A System of Patterns, Wiley, 1996.
  • A. Elssamadisy, Agile Adoption Patterns: A Roadmap to Organizational Success, Addison-Wesley Professional, 2008.
  • M. Fowler, Analysis Patterns Reusable Object Models, Addison Wesley, 1996.
  • E. Freeman, B. Bates, and K. Sierra, Head First Design Patterns, O'Reilly Media, Inc., 2004.
  • R.P. Gabriel, Patterns of Software: Tales from the Software Community, Oxford University Press, USA, 1998.
  • E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns: elements of reusable object-oriented software, Addison Wesley, 1995.
  • J. Thomas, M. Young, K. Brown, and A. Glover, Java Testing Patterns, Wiley, 2004.


For further questions, please contact us via This email address is being protected from spambots. You need JavaScript enabled to view it..