Design and Develop a Game for Teaching Programming Concepts to Beginners
Keywords:
Software Engineering, Computer game designAbstract
The field of software engineering education faces a significant gap in addressing the vital aspect of software testing, particularly teaching exploratory testing that goes beyond the happy path. Existing educational resources often fall short in preparing students to test software thoroughly early, leading to deficiencies when furthermore learning real-world application development. To bridge this gap, project embarked on the development of a Java-based educational game. This game serves as a dynamic platform for imparting programming concepts while placing a specific focus on cultivating non-happy path exploratory testing skills. The motivation behind this project stems from the pressing need to equip software engineering students with the skills and mindset required for testing, which is undervalued in a software engineer. The innovative educational game was meticulously designed to engage players in a stimulating environment that challenges them to think beyond first-thought programming. By encouraging exploration of non-standard scenarios and testing the behaviour of simple programs, the game not only enhances players' programming acumen but also helps the learner appreciate and better quantify the importance of testing. Key functional requirements of the game encompass progressively advancing levels, each increasing in complexity, ensuring that players unlock the next stage upon successful completion. Furthermore, the game offers players the autonomy to seek hints when needed, striking a balance between fostering progression, and preserving the gratification of independent problem-solving. In the landscape of educational games, this project stands apart, as it uniquely explores the domain of testing—a facet rarely ventured into. The distinct style and content of this game offer a fresh perspective, filling a void in the educational gaming arena.