Coffee challenge: a game for teaching software design patterns

Date
Journal Title
Journal ISSN
Volume Title
Publisher
Politécnico Colombiano Jaime Isaza Cadavid
Date
2021-05-21
Abstract
Description
Game-based learning related to software engineering aims to increase learning effectiveness in the classroom and allow knowledge acquired to be put into practice. Design patterns are reusable solutions to recurring problems in software design, creating clean and maintainable software. However, applying design patterns correctly requires experience, therefore, it is difficult for students to learn design patterns. In this article, the design patterns, their structure and possible applications were investigated, in addition to reviewing existing educational games in computing. Afterwards, we develop a game for teaching design patterns depending on the popularity of the pattern and its application to a web page. We evaluated the game with computer science students. Finally, we exhibit the results obtained by test pilot sessions.
En ingeniería de software el aprendizaje basado en juegos ayuda a incrementar la efectividad del aprendizaje en el aula de clase y permite poner en práctica conocimientos adquiridos. Los patrones de diseño son soluciones reusables a problemas comunes en el diseño de software, permiten crear software limpio y mantenible, sin embargo para aplicar los patrones de diseño correctamente se requiere experiencia, por lo que es difícil aprenderlos. En este trabajo se investigaron los patrones de diseño, su estructura y posibles aplicaciones, además de revisar juegos educativos existentes en el ámbito de la computación. Posteriormente se crea un juego para enseñar patrones de diseño elegidos según la popularidad del patrón y su aplicación a un página web. El juego se evalúa con estudiantes del área de ingeniería de software y afines, y se discuten los resultados obtenidos en sesiones de pruebas realizadas.   Game-based learning related to software engineering aims to increase learning effectiveness in the classroom and allow knowledge acquired to be put into practice. Design patterns are reusable solutions to recurring problems in software design, creating clean and maintainable software. However, applying design patterns correctly requires experience, therefore, it is difficult for students to learn design patterns. In this article, the design patterns, their structure and possible applications were investigated, in addition to reviewing existing educational games in computing. Afterwards, we develop a game for teaching design patterns depending on the popularity of the pattern and its application to a web page. We evaluated the game with computer science students. Finally, we exhibit the results obtained by test pilot sessions.
Keywords
Enseñanza de patrones de diseño, aprendizaje basado en juegos, ingeniería de software
Citation