Education Research Frontier December 2013, Volume 3, Issue 4, PP.188-193
Game-assisted Learning Methods ——Mobile Game Design for "Data Structures and Algorithms in C/C++" Longjiang Li #, Lingjie Zheng, Qianye Zhi Key Lab of Optical Fiber Sensing and Communications, School of Communication & Information Engineering, University of Electronic Science and Technology of China, Chengdu, Sichuan, 611731, P.R. China #Email: longjiangli@uestc.edu.cn
Abstract "Data structure" is a fundamental course for students in the field of computer science, but due to the diversity of data structures and the abstract and dynamic of algorithms, there are some difficulties while students are trying to master these knowledge. This paper proposes a novel game-assisted learning approach, which uses mobile games to assist students to master the content of data structure. By combining the difficult points of critical knowledge and the recreation of games, the proposed solution aims to explore the use of visualization techniques to help students understand the basic principles of data structures and have also given the detailed the design of the architecture of the phone game software prototype. By targeting key knowledge points of data structure, such as linked lists, pointer manipulation, the main difficulties and technical challenges on game-assisted learning methods are highlighted. Keywords: Game-assisted Learning; Mobile Game; Data Structure; Multimedia Teaching
游戏辅助式学习方法探索* ——针对《数据结构》课程的手机游戏设计 李龙江#,郑灵杰,智前烨 电子科技大学,四川省 成都市 611731 摘 要:《数据结构》是计算机学科的一门专业基础课程,但由于数据结构的多样性和算法的抽象性、动态性,使得学生 掌握数据结构的关键知识点存在一定的难度。本文提出了采用手机游戏辅助数据结构课程教学的思路,试图将游戏的趣味 性与数据结构课程的关键知识难点相结合,探索采用可视化多媒体技术协助学生理解数据结构的基本原理,并给出了手机 游戏的软件原型设计架构。通过针对数据结构关键的知识点,如链表、指针操作等进行游戏场景设计,突出了辅助教学 式的手机游戏的主要难点和技术挑战。 关键词:辅助教学;手机游戏;数据结构;多媒体教学
引言 《数据结构》是计算机学科中的一门专业基础课程,能为从事计算机软件开发的人员提供必备的专业 基础知识[1]。但由于数据结构的多样性和算法的抽象性、动态性,使得在学习数据结构相关知识的过程中, 对于初学者或者非专业人员来说具有一定的难度。可视化技术是理解复杂现象和大规模数据的一种重要工 具,目前,国内外许多研究者已经肯定了算法可视化在数据结构教学方面的作用和地位,并且开始了在算 法可视化教学方面的研究[2]。如,国内清华大学严蔚敏教授编著的《数据结构》系列教材专门配备的数据结 构中各种算法的演示光盘[3],并且有很多人在此基础上不断地进行开发和应用。国外也出现大量软件,采用 了可视化交互技术。如,Binary Search Tree[3]是一款具有对二叉树进行各种遍历操作的可视化软件,用户既 可以通过操作界面提供的按钮(Insert、Delete 和 Locate)对二叉树进行插入、删除和定位等操作。JVALL(Java *基金资助:受国家自然科学基金面上项目(61273235)、中央高校基本科研业务费项目(No.
- 188 www.erfrontier.org
ZYGX2011X001)支持资助。
Visual Automated Linked List)[4]是一款演示链表算法的可视化软件,软件允许操作者对结点颜色、动画演示 速度、链表显示进行设置。这些学习软件的注意问题是软件内容过于局限于《数据结构》课程的知识覆 盖,而忽略了操作的游戏性和趣味性。总的来说,可视化软件在教学中的应用还存在诸多问题亟待解决, 如互动性不够、用户可操作性不强、过于枯燥等。本文试图从手机游戏设计的角度研究辅助教学问题,并 以《数据结构》为例讨论了手机游戏辅助教学游戏的设计过程。游戏有天然的互动参与性,所以通过“游 戏”的方式激发学习者自己探究、分析问题的兴趣是新型教学辅助软件发展的方向 [5][6]。随着移动互联网近 几年的飞速发展,iOS、Android、WP[7]等智能移动终端操作系统得到了大规模的普及。越来越多的学生使 用 iPad,iPhone 等智能终端作为新一代的学习工具,大多数学生都持有智能手机,如何利用零碎的时间学 习课程知识成为一种时代必然。本文基于流行的 iOS 平台研究手机游戏辅助教学游戏的设计,问题具有代 表性,能为相关技术辅助教学提供有益参考。
1
手机辅助教学的技术选择
1.1 目标课程选择 《数据结构》作为软件开发的基础课程,具有问题明确、逻辑性强但计算机底层实现相对抽象的特 点,因而适合采用可视化手段来协助学生的学习过程。当前,市面上已有大量的多媒体辅助教学软件用于 《数据结构》的教学[3],尽管该类软件采用生动的视觉效果的演示信息或动画,对学习者理解算法中数据逻 辑结构或存储结构的变化有一定帮助,但这些软件过于拘泥于数据结构课程设置,因而学习过程比较枯燥。 因而,本文设计的手机游戏,刚强调交互式参与的游戏性,而不是机械式学习。进而,《数据结构》课程的内容 具有基础性,因而这样的一种数据结构辅助教学游戏,不应该拘泥于特定的编程语言,而应该侧重于数据 结构本身概念的理解,从而非计算机专业的,编程语言及思维不足的用户也能够通过这样的辅助教学游戏 有所收获[9][10]。教育辅助类游戏除了概念的讲解演示外,更应该侧重利用游戏的趣味性促进用户的参与,通 过用户交互过程考察用户对数据结构的理解 [11];这样用户在游戏的过程中,针对面对的困难,可以给出自 己的解决方案,通过这种参与的模式,能够更好的驱动用户去理解和掌握数据结构的原理。
1.2 手机游戏开发技术选择 算法可视化技术的出现,从一定程度上,弥补了传统《数据结构》教学中的不足。通过算法可视化技 术,数据结构中复杂算法的执行过程可以通过动态的显示效果呈现在用户面前,用户可以通过观看算法的 动态演示了解算法的本质。但是现有的可视化教学软件普遍只能观看算法执行过程的动画演示,用户与软 件的交互性不强,而且软件设计对用户的兴趣激发也不够,并不能很好的满足计算机教学的需要。因而, 辅助教学软件定位在“动画演示”作用上是远远不够的,在算法可视化软件中引入更好的动态交互技术, 让用户在使用软件的过程中,能够根据自己的想法进行操作,并能够及时给用户的表现进行评价,使用户 在不断的实践过程中加深理解,这些是后续可视化软件开发过程中所必要的。 随着移动互联网近几年的飞速发展,越来越多的用户,使用 iPad,iPhone 等智能终端作为新一代的学 习工具,由此,在 ios 等系统上开发出辅助《数据结构》教学的互动游戏是很有必要的[7]。这样的一种数据 结构辅助教学游戏,不应该拘泥于特定的编程语言,而应该侧重于数据结构本身概念的理解,从而非计算 机专业的,编程语言及思维不足的用户也能够通过这样的辅助教学游戏学习数据结构 [7]。因而,本文选择基 于 iOS 开发辅助教学的手机游戏具有一定代表性,同时由于该游戏是构建在 ios 等移动终端上,用户随身携 带手机等移动终端,所以能够利用零碎的时间学习数据结构,这也是此类游戏的优势之一。
2
手机辅助教学游戏软件设计
2.1 设计目标 本软件的设计目标是以《数据结构》课程的核心部分及难点为内容设计手机游戏,通过游戏的关卡设 - 189 www.erfrontier.org
计,吸引用户参与,从玩游戏的过程中自然地获得相关技术知识的积累。《数据结构》课程的核心部分包 括线性表、栈、队列、数组、数、图、查找等抽象数据结构和相关算法行为的动态展示,操作者在完成游 戏关卡的同时,可以加深对数据结构中的各类概念以及逻辑关系的理解,以达到辅助教学的目的。在设计 中尽力满足用户操作行为的自主性,尽量增强游戏的视觉以及操作体验。
2.2 总体框架设计 该游戏设计依据具体难度对各抽象数据结构以及算法进行了两层分级,如图 1 所示,首先依据操作类型 进行分类,如基础数据结构,排序,查找等,每种分类对应一张地图,整个游戏提供多张地图,前面地图 在初始化时开启,后面地图初始状态为封锁状态,需要对前面地图闯关后方可解锁后面地图。在各个地图 中设置关卡可视化道路,道路上分布有各个关卡,一个关卡对应一个小游戏,如第一张地图代表基础数据 结构操作相关游戏,则关卡可设置为链表,栈,队列等相关操作游戏。 软件入口
主界面
游戏设置
开始游戏
游戏选择
地图1
地图2
退出游戏
地图3
游戏成绩
……
关卡1 关卡2 关卡3 关卡4
… …
图 1 软件总体框架设计 设置
成绩
游戏选择 游戏背景音乐 开始游戏 游戏设置
游戏计时器
总游戏次数:
XX次
总胜利次数:
XX次
优胜率:
XX%
单次游戏最短时间:
游戏成绩
XX 秒
游戏背景 退出
(a) 软件主界面
(b) 游戏设置界面
(c) 游戏成绩界面
图 1 软件功能界面设计
2.3 功能界面设计 在点击软件入口按钮后,进入软件主界面,如图 2(a)所示,在主界面中设置了“游戏选择”入口按钮, 点击该按钮后进入地图选择界面,然后在选择的地图界面上选择相应的关卡;“游戏设置”按钮,点击 “游戏设置”按钮后即可进入图 2(b)所示界面,在设置界面中可以对游戏背景、背景音乐以及游戏时间等进 - 190 www.erfrontier.org
行设置;“游戏成绩”按钮,点击“游戏成绩”按钮后即可进入图 2(c)所示界面,在该界面中将对游戏次 数、胜利次数等信息进行统计显示;“游戏开始”按钮,当完成对游戏地图、关卡以及相关游戏设置后点 击“游戏开始”按钮即可开始体验游戏。
2.4 游戏关卡设计 在游戏设置中,考虑针对不同关卡中相关数据结构内容的具体特点设定不同的游戏操作体验形式,这 样不但丰富游戏体验效果,激发操作者的兴趣,同时以特定的展现形式不但能够更加准确的体现出不同内 容的具体特性,也更加能够引起操作者的关注从而去发现各个知识点的不同之处。 2.4.1
关卡设计思路
关卡的总体设计思路为进入关卡时为用户提供一定初始信息,并设定本关卡的通过目标。为避免操作 时间过程导致用户失去耐心,每一关通关所需时间通常不超过 2 分钟。游戏过程即是让用户进行数据结构的 基础操作,将提供的初始信息变换为本关的通过目标,中间如果出错(如内存泄露等)则提示用户并重置 本关。用户顺利通关后,对其操作进行评价(评价标准如:进行了多少步基础操作,操作时间等)。 2.4.2
关卡设计举例
在此以对单向链表操作的关卡设计进行举例说明,当操作者选择链表操作对应的某一关卡,点击“游 戏开始”进入图 所示界面 ,界面中展示了该游戏关卡的初始化状态。其中每个方块物理代表链表中的一个 元素,方块上的字符代表元素内存储的数值,方块间的钩子代表指针,如甲物体钩住乙物体,则说明在链 表中甲元素中的指针部分指向了乙元素,很显然该关卡涉及的是一个单向链表的相关操作。
重新开始
返回
Head
本关目标
提示
2
4
5
1
3
节点模型 挑战: 把节点2/4/5插入链表,并 保持链表递增有序.
Data
钩子即表示 指针,可以 进行拖拽操 作
图 3 单向链表操作的关卡界面
重新开始
返回
2
Head
本关目标
提示
4
5
重新开始
返回
2
Head 2
1
1
本关目标
提示
4
5
重新开始
返回
提示
本关目标
Head
3
1
1 3
2 3 4
恭喜闯关成功! 已达到2.3级水平, 查看你已掌握的 知识点.
5
(a)链表初始操作界面
(b) 单链表指针操作界面
图 4 单向链表操作步骤界面 - 191 www.erfrontier.org
(c) 游戏成绩界面
在图 (a)所示的链表操作初始化界面中设置了若干选择按钮,如“本关目标”,点击该按钮后,界面中 将对本关的闯关目标以图形或文字的形式进行说明,在获取到闯关目标后则可按照该目标对界面中的物体 进行游戏操作,在图 4(a)(b)(c)中对该关卡的操作流程进行了示意展示。 2.4.3
关卡成绩打分
在图 4(c)中展示了操作者在正确完成单向链表操作步骤后得到了完成示意图,根据用户操作步骤是否正 确及耗用的时间用五角星进行打分, 根据用户的所有过去通关情况显示用户当前达到的水平(1-5 级),并允许用 户查看应该已掌握的知识点。若操作者在闯关过程中遇到困难时可点击界面中的“提示”按钮,在点击该 按钮后,游戏软件将自动针对用户操作给出下一步操作提示;若由于操作者的错误操作得到错误结果或者 出现内存泄漏等问题时,则软件会提示操作者重新开始游戏,同时,操作着也可以点击界面上的“重新开 始”按钮自主选择重新开始本次游戏;当操作者想退出该关卡时,则可以点击界面中的“返回”按钮退出 该关卡。
3
结语 本文的目标是以《数据结构》为例探索游戏辅助式学习方法,基于流行的 iOS 手机终端平台给出了手机
辅助教学游戏软件设计的软件框架,并针对链表、指针操作给出了详细的设计过程。当前,市面上已有大 量的多媒体辅助教学软件用于《数据结构》的教学,本文所提的游戏辅助式《数据结构》学习方法与现有 方法相比,具有以下特点: (1)由目标用户参与开发:本软件的设计及实现主要由在读研究生及本科生协作进行,他们是该软件 的设计者,同时也是该软件的使用者,因而他们最具有发言权。 (2)强调对《数据结构》知识难点的突破:游戏设计过程不强求面面俱到,而是针对重要的知识难点 进行场景设计,通过上下文提示,使得学习曲线尽可能平滑。 (3)以游戏设计思路为主导:完全按照手机游戏的设计思路进行,采用关卡设置,增加学习过程的成就 感,玩过的关卡允许用户重复玩,通过多种自由度设定增加游戏的吸引力。 (4)以手机终端为目标平台:选择流行的 iOS 操作平台,能够覆盖到大量目标用户,设置每一关通关 时间通常不超过 2 分钟,能利用学生的零碎时间。 (5)强调游戏趣味性促进参与:进一步还将考虑社交特性,允许用户上传游戏通关结果,通过相互交 流,建立学习的良性反馈。
REFERENCES [1]
A. Aho , J. Ullman, J. Hopcroft. Data Structures and Algorithms. Addison Wesley, 1983
[2]
B. Parker, I. Mitchell. Effective Methods for Learning: A Study in Visualization. Journal of Computing Sciences in Colleges, 2006, 22(2).
[3]
Zhuanghua Zhu. Application of algorithm visualization in teaching data structures. Journal of Shanxi Finance and Taxation College, April 2010, Vol.12(2).
[4]
H. Dershem and R. McFall. Animation of Java Linked Lists, Proc. of SIGCSE 2002, pp. 53-57.
[5]
Wen-Hsiung Wu, Wen-Bin Chiou, Hao-Yun Kao, Chung-Hsing Alex Hu, Sih-Han Huang, Re-exploring game-assisted learning research: The perspective of learning theoretical bases, Computers & Education, Volume 59, Issue 4, December 2012, Pages 1153-1161
[6]
Jeffrey Michael Edgington. Toward using games to teach fundamental computer science concepts, Rocky Mountain: university of Denver ,August 2010.
[7]
Lauren Miller Griffith, Brian A. Roberts (2013), Learning Tool or Distraction: Student Responses to the use of iOS Devices, in - 192 www.erfrontier.org
Charles Wankel, Patrick Blessinger (ed.) Increasing Student Engagement and Retention Using Classroom Technologies: Classroom Response Systems and Mediated Discourse Technologies (Cutting-edge Technologies in Higher Education, Volume 6), Emerald Group Publishing Limited, pp.307-336 [8]
A. Jones, & K. Issroff. Learning technologies: Affective and social issues in computer-supported collaborative learning. Computers & Education, 2005, vol 44, 395-408.
[9]
A. Joyce, P. Gerhard, M. Debry. How are digital games used in schools: Complete results of the study. European Schoolnet. 2009.
[10] J. M. Randel, B. Morris, C. Wetzel, B. Whitehill. The effectiveness of games for educational purposes: A review of recent research. Simulation & Gaming, 1992, 23(3), 261. [11] L. P. Rieber,. Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games. Educational Technology Research & Development, 1996, 44(2), 43–58.
【作者简介】 1
李龙江(1976- ),男,汉族,博士,
2
郑灵杰(1989- ),男,汉族,研究生在读,网络信息工程
副教授,研究领域包括无线自组织网/传
专业,于电子科技大学攻读硕士学位。
感器网络、宽带无线网络、移动互联
Email: 746521411@qq.com
网、三维可视化、物联网技术等, 2007
3
年取得上海交通大学工学博士学位。
专业,于电子科技大学攻读硕士学位。
Email: longjiangli@uestc.edu.cn
Email: zhqy_12@yeah.net
智前烨(1989- ),男,汉族,研究生在读,网络信息工程
- 193 www.erfrontier.org