Kurzzusammenfassung:
Das Lehr-Lern Arrangement Design Pattern besteht aus einem dreiteiligen Übungspaket mit jeweils einer Übungseinheit der drei ausgewählten Gang of Four Design Pattern, dem Observer-, Decorator- und Command Pattern. Die Übungseinheiten haben jeweils eine zugrundeliegende Problemstellung und sind vor dem Hintergrund des Problembasierten Lernens konstruiert worden. Außerdem kommt hier das Konzept des Scaffolding zum Einsatz: Durch gezieltes Steuern des Umfangs der Unterstützung, die Studierende über die drei Übungseinheiten erhalten, soll insgesamt ein selbstgesteuerter Lernerfolg herbeigeführt werden. Mit dem Observer Pattern wird ein leichter Einstieg in das Thema des Design Pattern geschaffen. Diese Übung ist die erste einer dreiteiligen Übungsreihe, in welcher die Studierenden angeleitet werden, den theoretischen Inhalt auf praktische Anwendungen zu transferieren. Das Command Pattern ist der zweite Teil der Design Pattern Übung. In dieser Übung sollen die Studierenden das Command Pattern auf Basis eines bestehenden Rahmenprogramms verbessern und implementieren. Die Übung Decorator Pattern ist der dritte Teil der dreiteiligen Design Pattern Aufgaben. Dabei sollen die Studierenden bereits selbstständig Quellcode für Decorator Pattern implementieren.
Ziele:
- Verstehen und Anwenden der Design Pattern: Observer, Decorator und Command Pattern
Didaktische Funktion(en):
- Wiederholung & Festigung
- Transfer & Anwendung
Hintergrund / didaktisch-methodische Einordnung:
Sozialform(en):
Partnerarbeit, Pair Programming
Anzahl der Lernenden:
2-3 Personen
Voraussetzungen:
- Lehrender: Erfahrungen in Software Engineering, Design Pattern
- Lernende: Software Engineering Studierende, die bereits eine theoretische Grundlagenvorlesung besucht haben; Theoretische Grundlagen in Design Pattern Erfahrungen in C++
Ausstattung & Medien:
- Jede Gruppe benötigt einen PC und eine IDE mit C++ Compiler.
- Ausreichend PCs im CIP-Pool
- Beamer (für Präsentation)
- Uhr, falls Pair Programming mit Zeitgeber durchgeführt wird
Observer Pattern
- 10 min Einleitung, kurze Wiederholung der Theorie
- 15 min Beschreibung eines eigenen Observer Pattern Beispiels
- 20 min Vervollständigung des Klassendiagramms Observer Pattern
- 25 min Beschreibung verschiedener Prinzipien des Observer Pattern
- 20 min Implementierung des Observer Pattern Rahmenprogramms in Pair Programming
Command Pattern
- 10 Min Verbesserung des Klassendiagramms
- 30 Min Implementierung der fehlenden Klassen
- 35 Min Implementierung der konkreten Konsolenausgabe auf Basis eines Szenarios
- 5 Min Beantwortung Abschlussfrage
Decorator Pattern
- 10 Minuten Einleitung, kurze Wiederholung
- 80 Minuten Eigenständige Bearbeitung des Rahmenprogramms auf Basis des Handouts
Beispiele oder Materialien:
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
Hinweise zur Vorbereitung:
- Präsentationen
- Rahmenprogramme vorbereiten
- benötigte Zeit: 45 Minuten pro Übungseinheit
Hinweise zur Nachbereitung:
Keine Nachbereitung nötig
Hinweise zur Dauer: 90 Minuten pro Übungseinheit
Vorteile und Stärken:
Design Pattern ist einer der schwierigeren Inhalte für Software Engineering Studierende. Der Scaffolding-Ansatz ebnet schrittweise den Weg zur selbstständigen Umsetzung eines Entwurfsmusters.
Grenzen und Schwächen:
Die Bereitstellung der Rahmenprogramme erfordert es, dass die Studierenden alle die gleiche Entwicklungsumgebung verwenden, was nicht immer der Fall ist.
- H.G. Schmidt (1983). Problem‐based learning: rationale and description. In: Medical Education, Vol. 17, pp. 11-16
- M. J. Prince, R. M. Felder (2006. Inductive teaching and learning methods: Definitions, comparisons, and research bases. In: Journal of Engineering Education, vol. 95, no. 2, pp. 123-138
- J.J.G. Merrienboer, P. Kirschner (2003). Taking the Load Off a Learner’s Mind. In: Instructional Design for Complex Learning. In: Educational Psychologist
- Soska, A., Reuter, R., Hauser, F., Reiß, M. & Mottok, J. (2017). Scaffolding in der Lehre von Design Pattern. Tagungsband zum 3. Symposium zur Hochschullehre in den MINT-Fächern, 112–116.