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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

DPGame: Game-Based Learning for Dynamic Programming Algorithms

  • Ying Zhu

摘要

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.