ABSTRACT
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.
- Ellen Agerbo and Aino Cornils. 1998. How to Preserve the Benefits of Design Patterns. In 13th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA). 134--143.Google ScholarDigital Library
- David Paul Ausubel, Joseph Donald Novak, Helen Hanesian, et al. 1968. Educational psychology: A cognitive view. (1968).Google Scholar
- K. Beck, R. Crocker, G. Meszaros, J. Vlissides, J. O. Coplien, L. Dominick, and F. Paulisch. 1996. Industrial experience with design patterns. In 18th International Conference on Software Engineering (ICSE). 103--114.Google Scholar
- Phyllis Blumenfeld, Elliot Soloway, Ronald Marx, and Joseph S. Krajcik. 2011. Motivating Project-Based Learning: Sustaining the Doing, Supporting the Learning. Educational Psychologist (2011), 369--398.Google Scholar
- Kajal Claypool and Mark Claypool. 2005. Teaching Software Engineering Through Game Design. In 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE). 123--127.Google Scholar
- Elisabeth Freeman, Eric Freeman, Bert Bates, and Kathy Sierra. 2004. Head First Design Patterns. O'Reilly Media, Inc.Google Scholar
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, Boston, MA, USA.Google ScholarDigital Library
- Paul Gestwicki and Fu-Shing Sun. 2008. Teaching Design Patterns through Computer Game Development. Journal on Educational Resources in Computing (2008), 1--22.Google Scholar
- A. Ghazarian. 2012. Work in Progress: Transitioning from Novice to Expert Software Engineers through Design Patterns: Is It Really Working?. In Frontiers in Education Conference (FIE). 1--2.Google ScholarDigital Library
- Raph Koster. 2013. Theory of Fun for Game Design (2nd ed.). O'Reilly Media, Inc.Google ScholarDigital Library
- D. M. Nascimento, K. Cox, T. Almeida, W. Sampaio, R. A. Bittencourt, R. Souza, and C. Chavez. 2013. Using Open Source Projects in software engineering education: A systematic mapping study. In 2013 IEEE Frontiers in Education Conference (FIE). 1837--1843. https://doi.org/10.1109/FIE.2013.6685155Google ScholarCross Ref
- Nelishia Pillay. 2010. Teaching design patterns. In Southern African Computer Lecturers Association Conference (SACLA). 1--4.Google Scholar
- A. Radermarcher, G. Walia, and D. Knudson. 2014. Investigating the skill gap between graduating students and industry expectations. In 36th International Conference on Software Engineering (ICSE 2014). 291--300.Google Scholar
- IEEE Computer Society. 2014. Guide of the Software Engineering Body of Knowledge - SWEBOK, version 3.0. IEEE Press.Google Scholar
- Jonathan Sillito. 2013. Simple collaborative qualitative analysis. http://www.saturateapp.comGoogle Scholar
- Rovio Entertainment Ltd. 2015. Angry Birds. http://www.rovio.com/en/our-work/games/view/1/angry-birdsGoogle Scholar
- Dirk Riehle. 2011. Lessons learned from using design patterns in industry projects. In Transactions on Pattern Languages of Programming II, James Noble and Ralph Johnson (Eds.). Springer-Verlag, Berlin, Heidelberg, 1--15.Google ScholarDigital Library
- Marcelo Schots, Claudia Rodrigues, Cláudia Werner, and Leonardo Murta. 2010. A Study on the Application of the PREViA Approach in Modeling Education. In XXIX International Conference of the Chilean Computer Science Society (SCCC). Antofagasta, Chile, 96--101.Google ScholarDigital Library
- Forrest Shull, Janice Singer, and Dag IK Sjøberg. 2008. Guide to advanced empirical software engineering. Vol. 93. Springer.Google ScholarDigital Library
- Lev Semenovich Vygotsky. 1980. Mind in society: The development of higher psychological processes. Harvard University Press.Google Scholar
Index Terms
- Fostering Design Patterns Education: An Exemplar Inspired in the Angry Birds Game Franchise
Recommendations
Implementing Game Mechanics with GoF Design Patterns
PCI '16: Proceedings of the 20th Pan-Hellenic Conference on InformaticsImplementing game mechanics (i.e., game rules and logic) inherently involves high volumes of required complexity, which in turn leads to the introduction of accidental complexity (e.g., long methods, code repetition, etc.). Thus, usually games suffer ...
Exploring aesthetical gameplay design patterns: camaraderie in four games
MindTrek '10: Proceedings of the 14th International Academic MindTrek Conference: Envisioning Future Media EnvironmentsThis paper explores how a vocabulary supporting design-related discussions of gameplay preferences can be developed. Using the preference of experiencing camaraderie as an example, we have analyzed four games: the board games Space Alert and Battlestar ...
Enemy NPC design patterns in shooter games
DPG '12: Proceedings of the First Workshop on Design Patterns in GamesGameplay in single-player shooter games primarily consists of combat with Non-player Characters (NPCs). However, there has been little research done to study how enemy NPCs affect player behavior in shooter games. As a consequence, there is no formal ...
Comments