Teaching pattern-based development

Andreas Seitz, Bernd Bruegge

Research output: Contribution to journalConference articlepeer-review

1 Scopus citations


The use of patterns in software engineering is an important and widespread concept. However, teaching patterns to students is challenging because it requires practical knowledge. To evaluate the usefulness of patterns, students need to remember, and understand them as well as apply and analyze them. Pattern-based development (PBD) is a model-based development approach that focuses on the reuse and extensive use of patterns throughout the software lifecycle. In this study, we describe the foundation for teaching PBD to large classes using an inductive and formative approach. We encourage students to apply patterns in any stage of the software lifecycle. We apply agile methodologies, particularly Scrum, to structure lectures and give students the opportunity to apply patterns in each iteration. An increment (in our case a simple game) is reviewed and assessed by the instructors after each iteration. In a case study, we demonstrate the use of this approach to teach PBD in two university courses with 500 and 1400 students. From our experience, we conclude that teaching PBD in large courses works well and discuss the best practices for other instructors.

Original languageEnglish
Pages (from-to)20-23
Number of pages4
JournalCEUR Workshop Proceedings
StatePublished - 2018
Event2018 Combined Workshops of the German Software Engineering Conference, SE-WS 2018 - Ulm, Germany
Duration: 6 Mar 2018 → …


Dive into the research topics of 'Teaching pattern-based development'. Together they form a unique fingerprint.

Cite this