htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
emphasize objectives XML-Code


Design Patterns

Module name (EN):
Name of module in study programme. It should be precise and clear.
Design Patterns
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Computer Science and Communication Systems, Bachelor, ASPO 01.10.2022
Module code: KIB-EWM
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
2V (2 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
Semester: 6
Mandatory course: no
Language of instruction:
Oral examination

[updated 19.02.2018]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

KI681 Computer Science and Communication Systems, Bachelor, ASPO 01.10.2014 , semester 6, optional course, technical
KIB-EWM (P221-0075) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2021 , semester 6, optional course, technical
KIB-EWM (P221-0075) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2022 , semester 6, optional course, technical
PIBWI73 Applied Informatics, Bachelor, ASPO 01.10.2011 , semester 6, optional course, informatics specific
PIB-EWM (P221-0075) Applied Informatics, Bachelor, ASPO 01.10.2017 , semester 5, optional course, informatics specific
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
30 class hours (= 22.5 clock hours) over a 15-week period.
The total student study time is 90 hours (equivalent to 3 ECTS credits).
There are therefore 67.5 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
Recommended as prerequisite for:
Module coordinator:
Prof. Dr.-Ing. Martin Burger
Lecturer: Prof. Dr.-Ing. Martin Burger

[updated 01.10.2022]
Learning outcomes:
After successfully completing this course, students will:
_ know the differences between architectural patterns, software design patterns, and programming idioms and be able to explain them.
_ be familiar with the most important architectural patterns and can explain their application context and structure
_ be familiar with the most important software design patterns, their application contexts, structure and dynamics and can illustrate this with examples.
_ understand the structure and use of JUnit.
_ have an overview of refactoring methods and can explain them using code examples.

[updated 19.02.2018]
Module content:
1. Introduction to software design patterns
    1.1 General information
    1.2 Pattern categories
    1.2 Patterns and software architectures
2. Architectural patterns
    2.1 Multi-tier patterns
    2.2 Broker pattern
    2.3 Model-view-controller
    2.4 Other architectural patterns
3. Software design patterns and applications
    3.1 Creational patterns
    3.2 Structural patterns
    3.3 Behavioral design patterns
4. Introduction to JUnit
    4.1 Unit tests with JUnit
    4.2 The design of JUnit 3.8.x
    4.3 Annotations
    4.4 JUnit 4.x
5. Refactoring and patterns
    5.1 Introduction to software metrics
    5.2 Introduction to refactoring
    5.3 Refactoring and patterns
6. Introduction to aspect-oriented software development (optional)
    6.1 Aspect-oriented software development overview
    6.2 Application examples for aspect-oriented software development
    6.3 Aspect-oriented software development and patterns

[updated 19.02.2018]
Teaching methods/Media:
Transparencies, projector, board
Course-specific website

[updated 19.02.2018]
Recommended or required reading:
Geirhos, Matthias:
Entwurfsmuster _ Das umfassende Handbuch
Rheinwerk Verlag GmbH, Bonn
Goll, Joachim:
Architektur- und Entwurfsmuster der Softwaretechnik
Springer Vieweg
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J.:
Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software
Fowler, Martin: Refactoring
Oder wie Sie das Design vorhandener Software verbessern.

[updated 19.02.2018]
Module offered in:
WS 2024 (probably), WS 2023/24
[Thu Jun 13 09:10:48 CEST 2024, CKEY=kea, BKEY=ki3, CID=KIB-EWM, LANGUAGE=en, DATE=13.06.2024]