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

Patterns in Software Engineering (WS 20/21)

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 Exercise are not separate, they are heavily intertwined. The course blends exercises with the lecture: the exercises are being held in the class room right after the pattern is introduced.

Course Information

  • SWS: 4
  • ECTS: 5
  • Module: IN2081
  • Course description: TUMOnline
  • Prerequisite: Introduction to Software Engineering (IN0002)
  • Time and Location: 
    • Lecture including in-class exercises will take place on Monday from 10:00 to 14:00 via Livestream (starting November 09).
    • There will be small breaks during class.
  • For slide downloads and discussion regarding class, access


No Repeat Exam

No repeat exam is scheduled for Patterns in Software Engineering. Please check with the Winter 2021/22 courses for future examination dates.


Online Course - Important Information

We will teach the course Patterns in Software Engineering in an all-online format as of the restrictions due to the Coronavirus.

There will be a live-stream of the lectures on and recordings available afterwards. We ask you to actively participate in the exercises during the lecture and in our live chat (Slack) where you can ask questions during the lecture. We will provide more information on the course format in the first lecture on Monday, November 9th, 10:00 - 14:00. Please make sure to attend this lecture!

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

Before the first lecture starts, we would like you to use the free time next week to repeat 8 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, November 2nd. If you have not participated in EIST in summer 2020, please review the slides, watch the videos, and complete the exercises before the course officially starts. This content is also relevant for the examination.

If you have not used Artemis before, please login on 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..