基于AI—TANK系统进行高职Java程序设计教学的研究

2013-12-29 00:00:00崔晓坤周家宜
电脑知识与技术 2013年27期

摘要:该文针对目前高职计算机专业Java程序设计课程教学的特点,通过比较众多编程型游戏,最终选择AI-TANK系统作为教学辅助工具,并提出了一种基于AI-TANK系统的Java程序设计课程教学过程设计。最后通过AI-TANK系统实现了一个算法。

关键词:高职教育;编程型游戏;程序设计;教学辅助工具;Java;AI-TANK

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)27-6147-03

在电视剧《家有儿女》中小男孩刘星学习成绩平平,但他在一次历史考试中取得了第一名,大家都想搞清楚个中原因。原来这次考试的内容是三国知识,刘星又特别喜欢玩《三国群英传》电脑游戏。他在玩电脑游戏的过程中增强了对历史知识的记忆和理解,由此可见,电脑游戏软件在教育中都存在一定的意义。

程序设计是高职计算机专业必修的专业基础课,对高职学生来讲,难度较大。近些年大量原本报考文科类专业的学生被调剂到计算机专业,程序设计基本上对他们来说毫无兴趣可言。因此,任课教师需要采取一些教学手段和教学工具,而教育游戏正好可以办到。

教育游戏是指能够培养游戏使用者(简称游戏者)知识、技能、智力、情感、态度、价值观,并具有一定教育意义的计算机游戏软件[1] 。由此可见,教育游戏有非常重要的价值和前景,国内外专家学者都进行了很多的研究。其中的编程型教育游戏恰恰可以解决我们在程序设计课程教学中遇到的问题,真正达到“寓教于乐”的教学效果,如图1所示[2]。

目前,本专业Java程序设计课程共计开设两学期,第一学期主要理解程序设计逻辑知识(包括变量与数据类型、运算符与表达式、分支、循环、数组、方法等),第二学期主要学习Java程序设计中的高级知识(封装、继承、多态、接口、抽象类、异常与程序调试等)。为了降低教学难度,该文的主要目标是研究编程型教育游戏作为教学辅助工具在Java程序设计课程中的应用。

1 编程型教育游戏的分类与选择

经过多年的发展,编程型教育游戏门类众多,但并不是都适合初学编程者学习,因此要对它们进行适当的分类比较,最后选择一款最合适的。编程型教育游戏一般都是角色扮演型的,根据角色在游戏中的作用,又分为非竞技型和竞技型两大类。

1.1非竞技型游戏

非竞技型游戏类似于益智类游戏,相对容易,但实现不了复杂算法。

Scratch是美国麻省理工学院媒体实验室开发的开源软件,使用它可以容易的创建自己的交互式故事 、动画、游戏、音乐、艺术并将其分享到互联网上[3]。

Alice是由美国卡耐基·梅隆(Carnegie Mellon)大学开发的以学习者为中心,支持面向对象程序设计的三维虚拟世界动画教学工具软件,由www.alice.org提供免费下载[4]。

1.2竞技型游戏

竞技型游戏类似于即时战略类游戏。相对较难,但可实现复杂的算法。

Robocode 是 IBM 开发的 Java 战斗机器人平台,致力于使用Java或.NET开发一个机器人战斗坦克与其他坦克作战[5]。

AI-RCJ智能足球是AI-CODE游戏教育系统的一个重要分支,是一个以虚拟足球机器人为控制对象进行程序设计和比赛竞技体现多学科知识综合运用的教育系统[6]。

AI-TANK是AI-CODE游戏教育系统系列产品下以坦克为主题的编程游戏[6]。

1.3编程型教育游戏的选择

在上述这些编程型教育游戏中,我们选择了使用AI-TANK是作为我们的教学辅助工具。原因是,相比其他几种游戏,AI-TANK是具有如下的好处:

1)相比其他竞技类游戏而言,AI-TANK完全支持Java的全部特性。

2)竞技类游戏涉及复杂的数理知识和抽象算法,可以模拟复杂的算法。

2 基于AI-TANK系统的高职Java教学过程设计

每讲授一个Java知识点的时候,教师都使用AI-TANK制作一个相关的实例,先使学生有一个直观了解,再将这些知识通过Java再现。这种嵌入式教学方式很好的实现了AI-TANK与Java的有效结合。基于AI-TANK系统的Java教学过程如图2所示。

2.1 教学内容的安排

表1是部分教学内容与AI-TANK游戏实例的对照表。

3 结论

虽然AI-TANK存在局限性,但将AI-TANK嵌入到Java课程的教学中,能充分调动学生的学习热情,提高教学质量,适当的用作教学辅助工具还是可行的。

参考文献:

[1] 吕森林.教育游戏产业研究报告[J].中国远程教育,2004(22):44-47.

[2] 钟民,毛敏莉. C语言学习利器: AI-CODE坦克机器人[M].北京:中国水利水电出版社,2007.

[3] Scratch Home. About Scratch [EB/OL]. http://info.scratch.mit.edu/About_Scratch

[4] 陈芸.利用Alice三维虚拟世界进行程序设计入门教学[J].计算机教育,2007(18):160-162

[5] Robocode Home. ReadMe for Robocode[EB/OL]. http://robocode.sourceforge.net/docs/ReadMe.html#what-is-robocode

[6] http://www.ai-code.org/