Learning Software Engineering Principles with Program Wars v.3.0Global
Experience-based education plays a vital role in the computer science (CS) curriculum, as learning through activities that combine social and educational aspects is shown to be very effective. Game-Based Learning (GBL) has been used as an effective way of teaching concepts practically.
Program Wars is a web-based card game for teaching fundamental concepts of programming and cybersecurity.We propose Program Wars v.3.0, an extension to Program Wars v.2.0, to explore the effectiveness of teaching fundamental software engineering concepts using GBL. Specifically, Program Wars v.2.0 is augmented to introduce the concepts of the Software Development Life Cycle (SDLC), the Iterative Software Development Methodology (ISDM), the ‘D.R.Y.’ design principle, and software security and testing.
In Program Wars v.3.0, a player constructs card decks to complete three ‘sprints’ based on the specific requirements for the sprint. After playing a fixed number of turns, in which the player builds a pseudo-program, the player’s program is tested for requirement completion, and either a new sprint begins with additional requirements or the game ends. Program Wars v.3.0 differs from prior work by allowing the user to learn and practice software engineering principles in an engaging manner and within a shorter time frame than traditional methods.