Serious Game for learning about Software Architecture and Design - João Miguel Dias Ferreira Gouveia (2017)
Software Architecture and Design (SAD) can be understood as a subtopic of the "Software Engineering" (SE) domain of knowledge and also as a domain area with a wide range of concepts and knowledge with various applications. Serious games are made with the clear intention of addressing serious issues without losing the "fun" factor and are often applied to educational experiences. There are serious games for some SE fields, however, no educational digital games have been found for SAD thus far. The design philosophy of an effective game for a SE topic is based on learning and teaching functions (LTFs) that are able to be converted to game design patterns (GDPs). A subset of these same LTFs are dedicated to SE topics which, in turn, translate to certain GDPs. With this in mind, it is possible to prove that the aforementioned GDPs work for the topic of Software Architecture and Design by using them to successfully design and implement a serious game revolving around that topic. The game in question is a game with 5 levels named Codebase Escape, where the goal is to clear the levels by successfully unlocking and then answering a quiz related to SAD at the end of each level. The game was validated through an empirical study with students with, supposedly, no knowledge on the topic of SAD. The students in question were divided into two groups of similar size, where the first group played the game and the second group did not. The two groups then answered a questionnaire about the topic, where the knowledge gap between the groups was measured. In the context of the experiment, the preferred outcome is that the first group performs better at the questionnaire than the second group. The expected results of the project are that an effective educational game for SAD is designed and the existing subset of GDPs for SE education is properly validated.