english | deutsch



Course management


Prof. Dr. Walid Maalej

Teaching assistants


Master: Informatics, ITMC, Intelligent Adaptive Systems, Information Systems.
This course is part of the module “Empirical Software Engineering”.


The lecture “Software Patterns” deals with the topic Software Engineering Knowledge using empirical, experience-based patterns to solve typical recurring problems in software projects. This applies to both classic design patterns (patterns and anti-patterns), which are known in the field of Software Architecture, as well as modern, domain- and task-specific patterns such as process and project management patterns, usability patterns, or collaboration patterns (e.g. using social software engineering environments).


  • Basic knowledge in empirical methods and how they can be applied in the field of software engineering
  • Current topics in experience-based software patterns
  • Insights about the state of the art and current research topics in software engineering

PRELIMINARY TIMELINE (under construction)

Date Start End Main subject Location Topics
22.04 12:15 13:45 Introduction Online Theory behind patterns
29.04. 12:15 13:45 Foundation of Object Oriented Software Engineering Online Typing, Information hiding, Coupling and Cohesion, Polymorphism, Binding, Delegation
06.05. 12:15 13:45 Structural Design Patterns Online Adapter, Bridge, Proxy, Composite
13.05. 12:15 13:45 Behavioral and Creational Design Patterns Online Observer, Strategy, Template, (Abstract) Factory, Command
20.05. 12:15 13:45 Architecture Patterns I Online MVC, Black board, Client-Server/ pep
27.05. 12:15 13:45 Architecture Patterns II Online Client-Dispatcher-Server, Broker
10.06. 12:15 13:45 Testing Patterns I
Online Unit Testing, Dependency Injection, Mocks
17.06. 12:15 13:45 Testing Patterns II
Online Test Driven Development, Acceptance Testing 
24.06. 12:15 13:45 Quality Patterns Online Code Smells, Refactoring, Continuous Quality Improvement
01.07. 12:15 13:45 Usability Patterns Online Usability for Mobile: Patterns and Anti-Patterns
08.07. 12:15 13:45 Knowledge and Documentation Patterns Online Taxonomy of API documentation
15.07. 12:15 13:45 Collaboration and Management Patterns Online Work Allocation Patterns, Management Anti-Patterns



A-Pattern-Language-Alexander-Et-Al Chistopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobsen, Ingrid Fiksdahl-King and Shlomo Angel:
A Pattern Language
Oxford University Press, 1977.
Design-Patterns-Gamma Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides:
Design Patterns: Elements of Reusable Object-Oriented Software.
Addison Wesley, 1994.
Pattern-Oriented-Software-Architecture-Buschmann Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal:
Pattern-Oriented Software Architecture: A System of Patterns.
Mobile-Design-Pattern-Gallery-Neil Theresa Neil:
Mobile Design Pattern Gallery: UI Patterns for Smartphone Apps.
O’Reily Media, Inc., 2014.