[论文解读] The Art of Software Design, a Video Game for Learning Software Design Principles
本文提出了一款名为《软件设计的艺术》的基于益智的视频游戏,通过互动游戏玩法教授软件设计原则,如耦合、内聚、信息隐藏和模块化。该游戏采用基于UML的可视化界面,并提供对控制流和数据流的实时反馈,玩家通过逐步提升复杂度的设计谜题进行学习,用户测试初步显示了学习效果的证据,以及对软件设计术语的无意识采用。
This paper introduces our gamification of a part of our software design curriculum. Based on typical design principles a motivating learning game is developed to train students in software design. We use Bloom's taxonomy to determine learning objectives. We keep the player engaged with direct feedback in a challenging level based game with increasing complexity. Players can evaluate their design actions with the help of the visualisation of control and data flows. The main learning objective: applying design principles, fits the game's main activity. This supports the learning by doing approach of lecturers. A user test indicates possible learning effects and a playable game.
研究动机与目标
- 通过一种引人入胜的互动媒介,解决学生在学习抽象软件设计原则时缺乏动力的挑战。
- 开发一款游戏,通过将核心设计原则嵌入游戏机制,支持‘做中学’的学习方法。
- 通过用户测试评估该游戏是否能促进对概念的理解,并实现对软件设计术语的无意识掌握。
- 探索基于游戏的学习在教授软件设计方面的可行性,特别关注模块化、内聚、耦合和信息隐藏。
提出的方法
- 该游戏设计为一款益智类视频游戏,玩家使用简化版UML子集来表示类、属性和方法,完成设计挑战。
- 玩家可获得直接的视觉和音频反馈,包括对控制流和数据流的实时可视化。
- 学习目标源自布卢姆分类法,并与核心软件设计原则(如耦合、内聚、信息隐藏和模块化)保持一致。
- 评分机制通过平均耦合度和基于关键词的内聚分析等指标,评估设计质量。
- 游戏使用Gamemaker 8.1 Standard实现,以支持快速原型开发和互动游戏体验。
- 用户测试采用“自言自语”法,观察玩家在游戏过程中的推理、决策和参与度。
实验结果
研究问题
- RQ1该游戏在多大程度上通过互动益智解谜支持核心软件设计原则的应用?
- RQ2玩家在游戏过程中的互动和口头表达如何体现概念性学习以及对软件设计术语的无意识采用?
- RQ3对控制流和数据流的实时反馈是否能提升玩家对设计质量的理解?
- RQ4该游戏在逐步增加任务复杂度的同时,多大程度上保持了玩家的参与度?
- RQ5该游戏评分指标在多大程度上能真实反映良好的软件设计实践?
主要发现
- 玩家在游戏过程中无意识地从使用非正式术语(如‘方框和线条’)转变为使用正式的软件设计术语(如‘类、方法和关联’)。
- 游戏通过提供选择自由,允许用户跳过并稍后返回困难谜题,成功维持了玩家的参与度。
- 用户测试表明,清晰、结构化的说明(包括介绍性、解释性和任务分配段落)比内容密集或模糊的文本更有效。
- 部分玩家认为某些谜题过于简单,表明后续版本需要改进难度递增机制。
- 对控制流和数据流的视觉反馈帮助玩家评估设计决策,支持其对解决方案的有根据修改。
- 初步结果显示可能存在学习效应,但需通过受控案例研究进一步验证以确认学习成果。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。