APP下载

基于即时模拟游戏化系统的高职院校计算机编程语言教学改革研究

2017-03-10谢宇飞

环球市场 2017年29期
关键词:编程语言编程计算机

谢宇飞 周 庆

江西应用技术职业学院

基于即时模拟游戏化系统的高职院校计算机编程语言教学改革研究

谢宇飞 周 庆

江西应用技术职业学院

高职院校计算机编程语言课程教学改革已进入了关键阶段,传统教育教学模式已无法适应新时期计算机编程语言教学需求。以教学模式中存在的问题为着眼点,通过选用即时模拟游戏化系统开展实验性的教学改革探索,以印证国际计算机编程语言教学模式发展方向和国内已进行的有关实践研究成果,为高职院校计算机编程语言课程教学改革探索道路和方法。

游戏化系统 高职院校 编程语言

1 引言

教育部制定的《大学计算机基础课程教学基本要求(2015)》提出大学计算机基础教学的总体目标是“大学生通过学习应能够理解计算学科的基本知识和方法,掌握基本的计算机应用能力,同时具备一定的计算思维能力和信息素养。”[1]计算机编程语言教学是计算机基础课程中的核心课程,帮助学生破除计算机和软件编程的神秘感,建立对于程序的基本认识和对计算机运算模型的最初理解,影响了许多学生对计算机科学的第一印象。[2]随着计算机编程语言发展日益加速,高职院校计算机编程语言教学模式发展的相对滞后,已经成为高职院校计算机人才培养的主要瓶颈之一,新的教学模式改革势在必行,刻不容缓。

2 高职院校计算机编程语言教学现状和问题

在20世纪90年代中期以前,美国的计算机编程教育以Pascal语言为主,到20世纪90年代中后期,ANSIC语言成为很多美国大学编程的教学语言。1998年,美国指导编程教学的一个协会推荐将C++作为教学语言。大约经过两三年不成功的实践之后,在本世纪初,美国计算机教育界普遍接受了将Java作为编程入门语言,这个局面一直持续到2014年。在2014年美国加利福尼亚大学圣迭戈分校计算机科学与工程学院认知科学助理教授Philip Guo的调研报告中指出,美国top高校中,Python已经成为教授计算机科学入门课程方面最受欢迎的语言。[3]在中国,直到20世纪90年代中期都还是把BASIC语言及其变体设为计算机编程课程的主要教学内容。到了20世纪90年代后期,C语言才确立了在中国大学计算机编程语言中的主流地位,少部分国内高校逐渐开始以Java为入门编程语言。

近年来,国内计算机编程语言教学模式和内容一直在改革探索,教学内容一致在不断演进,C/C++、Java、Python等面向过程或面向对象的优秀编程语言纷纷进入大学课堂,但是由于国内教学模式发展相对滞后,教学者更偏向语言基础知识的讲解和传授,课堂教学枯燥乏味,学习者的学习积极性不高,整个教学效果得不到改善。[4]

3 即时模拟游戏化系统教学改革实践探索

即时模拟教学在国内主要应用于工程学科和典型的实操学科,如数控机床、临床护理等等,在计算机领域还处于探索阶段。但是,在国际上已经研究多年,并开发出了一系列相关应用系统,均以游戏的形式出现,赢得西方教育界和学生的广泛兴趣和好评。麻省理工学院和微软公司提出“现代教学法+艺术化游戏环境=下一代教育媒体”,游戏化教学将教育与游戏结合,能展现具体情境、使学生在学习中娱乐,从而达到探究实践、深度学习的目的。[5]

2013年英国Kuato Studios公司推出的Hakitzu,一款基于 iPad 的格斗类游戏。在游戏中,玩家不能通过触摸板或者控制器来控制机器人,而必须通过输入命令行才能让机器人往前走、往后走、转身等等。对于之前没学过 Javascript 的玩家来说,他们现在就要一边学Javascript,一边战斗,整个教学内容就包括 JavaScript 变量、函数、核心代码构建和语法等。

2015年法国推出的CodinGame,对于每一个练习,你都可以从超过20种编程语言中选择自己喜欢的语言,例如Python、Ruby、Java、Scala等。公司的目标用户是已经知道一些编程基础的人,但也为资深程序员提供了相匹配的挑战。尤其是,程序员之间近期开始流行多人游戏模式。在多人游戏模式下,你可以学习人工智能的基础知识,与其他人进行对决,看看到底是谁的代码效率更高。

研究期间为满足教学的客观需求,采用了美国Codecombat游戏式编程学习平台进行对比使用,相较优劣及学生使用后的真是反馈和客观需求,统计数据后,确定了下一步研究思路。在Codecombat系统中,学生扮演一个英雄通过游戏中的关卡冒险。学生通过输入代码控制英雄角色,游戏过程中面临编程挑战,挑战成功将解锁下一关卡并获得经验点,并可以提升英雄能力。Codecombat支持5种编程语言学习,JavaScript、CoffeeScript、Lua、Python和Clojure,涵盖了编程基本语法、循环、字符串、变量、方法调用、矢量绘图等教学主题。

4 结语

研究过程中通过选取3个班(A、B、C)进行差别教学,其中A班沿用传统教学方法,即C语言教学,先理论再实践,实践为传统项目式。B班采取Python语言教学,先理论再实践,随堂实践为项目式,课程后期集中实践为游戏式。C班采取Python语言教学,先实践再理论,实践倒逼理论,实践为游戏式。通过3种不同的教学模式进行比较,根据学生评测反馈我们得知,采用游戏式实践课程B、C班比采用传统模式的A班,无论在编程技能掌握情况、编程课程感兴趣程度,还是对计算机科学后续学习的信心上,都明显超越后者。与江耿豪、郑炜冬在《编程游戏在计算机语言教学中的运用》所做的实验结果基本类似[6],较好的证明了运用即时模拟游戏化系统进行计算机编程语言教学,能充分调动学生学习的积极性、主动性和创造性,引导学生独立思考,培养学生分析问题和解决问题的能力,培养学生的团队协作精神,对提高计算机编程语言课程教学质量具有较大的现实意义。

[1] 屈微, 姚琳, 武航星,等.基于游戏编程的计算机实践教学模式应用[J].计算机教育, 2017(9).

[2] Y Xie, D Zhong.Reformation of computer programming language teaching in higher vocational colleges based on the characteristics of python language grammar[J].Advances in Higher Education.2017(1).

[3] Philip Guo.Python is Now the Most Popular Introductory Teaching Language at Top U.S.Universities[EB/OL].http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introintrodu-teachinglanguage-at-top-u-s-univeruniver/fulltext.2014.7.7.

[4] 牟琴.“轻游戏”对计算思维能力的培养——教育游戏对程序设计基础课程教学的影响[J].远程教育杂志, 2011, 29(6).

[5] 杨兰娟, 王金双, 陈萍,等.游戏编程融入教学中的应用研究--以《程序设计基础》为例[J].电脑知识与技术, 2016, 12(4X).

[6] 江耿豪, 郑炜冬.编程游戏在计算机语言教学中的运用[J].闽南师范大学学报(自然版), 2006, 18(2).

谢宇飞,男,讲师,软件工程硕士,主要研究方向数据挖掘、智能计算。

本文为江西应用技术职业学院2016年校级教改课题项目“基于Python即时模拟仿真游戏化系统的高职计算机编程语言教学改革研究”的研究成果之一。

猜你喜欢

编程语言编程计算机
压力-体积转换在CFC编程语言中的实现解析
计算机操作系统
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
基于计算机自然语言处理的机器翻译技术应用与简介
Java编程语言的特点与应用
浅谈不同编程语言对计算机软件开发的影响
信息系统审计中计算机审计的应用