Fostering Design Patterns Education: An Exemplar Inspired in the Angry Birds Game Franchise - Silva, Diogo Soares da Cruz; Schots, Marcelo; Duboc, Leticia (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS), 2021)
Design patterns aim at easing the reuse of design solutions, saving time in solving recurring problems and supporting code maintainability. However, teaching design patterns is challenging. One of the reasons lie in the students' difficulties, not only in understanding this concept in a high level of abstraction, but also in realizing how to effectively use design patterns. The use of games in software engineering education has been successfully enabling students to understand some contents more easily, besides acting as a motivational factor. However, the few existing approaches for teaching design patterns using game-oriented methods focus mostly in the pattern implementation, ignoring the fact that students need to first recognize the scenarios in which patterns can be used. In this sense, this paper proposes and evaluates an educational material that illustrates the use of design patterns using game scenarios from the Angry Birds franchise. An evaluation with students indicates an overall positive feedback, also pointing out some difficulties and barriers in abstraction levels and knowledge transferring between domains. There were also some suggestions for improvements.