DPGame: Game-Based Learning for Dynamic Programming Algorithms
摘要
Dynamic programming is one of the most challenging topics in data structures and algorithms courses. Students often struggle to grasp dynamic programming techniques and apply them to solve problems. The common advice to students is to study lots of dynamic programming examples. However, analyzing source code is not an engaging experience for most students. This issue motivated us to design a game-based learning environment for dynamic programming. Although game-based methods have been used in computer science education, there have been no examples of games specifically designed to teach dynamic programming. In this paper, we introduce DPGame, a multi-level puzzle game that facilitates the learning process by guiding students through the construction of dynamic programming algorithms via increasingly challenging examples. In the game, the player’s goal is to construct a logical dependency diagram by answering a series of questions, similar to assembling a visual puzzle. This game can help students identify recurring logical patterns in dynamic programming and fosters a high-level understanding of the algorithm prior to tackling the low-level details of code implementation.