游戏编程在游戏专业编程基础类课程的教学研究

2017-04-14 17:40班娅萌刘玲惠尹树萍韩莉
商情 2017年7期
关键词:小游戏程序设计编程

班娅萌++刘玲惠++尹树萍++韩莉

编程基础类课程具有理论抽象、实践性强的特点,当今的高职高专游戏软件专业此类课程的实施现状有“所学不专”、“教学低效”等困难。针对此问题,本文提出了在教學过程中贯穿“游戏”的概念与项目,实践证明,能够有效激发学生的学习热情,比传统课堂更具有实践性和探索性。

教学编程项目游戏

一、引言

程序设计能力是高职高专游戏软件专业学生的必备专业技能,编程基础类课程目标在于培养学生利用计算机程序来分析和解决实际问题的能力,具有理论抽象、实践性强等特性。尤其对于专科学生来说,具有基础知识薄弱、动手能力较差、学习兴趣不足等特点。如何能在课时紧、任务重的情况之下保证枯燥的编程基础类课程的教学效果,吸引学生注意力,提高课堂效率,就成为很现实的问题。

二、高职高专编程基础类课程教学现状与困难

1.所学不“专”

编程类课程的实施需要依赖许多理论课程,比如说,编程中的多线程和线程的同步、互斥等问题,对程序执行过程、程序跨平台本质特性的理解,这些都需要操作系统方面的知识。专科学制三年,只有砍掉一些理论高、难度大的课程,才能保证教学的正常实施。同时,课时设置还要兼顾许多素质类人文课程,编程类课程不能始终贯穿三年的学习,有限的时间当中,学生只能学点皮毛。所以,学生对于开发知识其实所学不“专”。

2.学不致用

由于学制和学情等诸多因素限制,以“软件生存周期”为主线的“企业级”的游戏软件开发往往在课堂上无法深入,尤其对于编程基础类课程更是如此。所以学生感觉编程基础课程无法学以致用。

3.“教”“学”低效

以往的编程基础类课程内容过分强调数据类型、语法格式等语言上的细节,缺少对程序设计本身的分析训练。课堂中理论知识过于抽象,教材上的知识点不接地气,程序设计语言语法形式单一,过于复杂的实训案例,使得学生对于学习望而却步、动力不足。由于时间紧迫,教师不得不对教学内容进行取舍,很多重难点知识无法深究。种种问题造成了“学生难学、学得低效;教师难教,教得低效”这样的局面。

三、教学改革办法:“游戏”贯穿其中

当前职业教育课程改革的主流方向是构建项目课程,开展项目教学。如何让编程类课程门槛更低、学生参与度更高,就需要选择趣味性更强、更适合学生学习的项目。在课程中开展游戏案例编程,将知识点与游戏恰当结合,是可行策略。

麻省理工学院和微软公司共同提出“现代教学法 +艺术化游戏环境 =下一代教育媒体”,游戏化教学将教育与游戏结合,能展现具体情境、使学生在学习中娱乐,从而达到探究实践、深度学习的目的。

小游戏上手容易、趣味性强、用户黏度高,占领了智能手机端用户的大部分碎片时间。从兴趣而言,游戏可以激发90%以上学生的兴趣;就业务而言,学生作为游戏初级玩家就基本掌握了90%的业务。

在近年来的教学时间里,笔者开始尝试用“游戏”进行导入,让不同的游戏贯穿到不同的编程基础类课程当中,收到了良好的教学效果,得到了学生对这种“学以致用”的授课方式的普遍认同。下面以《程序设计基础》和《数据结构》两门课程为例,分别阐述在不同的课程当中,如何使“游戏”概念贯穿其中。

1.在《程序设计基础》中的应用

小游戏种类繁多,在项目选择上主要考虑游戏受众面广的棋牌类游戏,此类游戏不用过多的动画技术,学生可以将主要精力放在语法实现和开发流程上。

首先,自下而上根据游戏的规则和玩法对业务做适当的剪裁。以扫雷游戏为例,可不必考虑鼠标左右键同时按下的操作,点开的空白区域的雷的个数也可以用数字表示。自下而上剪裁好业务后,根据自上而下的分析,窗体和菜单必不可少。雷区的难度设置可以用控件来实现,将难度的设定穿插在记事本的存储中或考虑静态变量。至于游戏的核心逻辑――扫雷的实现,则依赖于“数组”知识。考虑到学生处于编程的初级阶段,选择在命令行模式下完成扫雷的过程,即时打印出数组的状态,让学生理解其实雷区的绘制无非就是将数组对应的数字转换成图片而已。

此外在任务驱动的方式下,设计一些贴近生活受学生欢迎的游戏程序,如海底鱼群、愤怒小鸟、星际大战等,这些游戏程序都要求对基础知识(循环、数组、逻辑判断、指针、函数)和知识综合的运用。经过理论学习和项目教学的穿插学习,课程结束时,学生对编程语言基本常用的开发技巧大多都能掌握。

2.在《数据结构》中的应用

算法是程序的灵魂,《数据结构》知识对于软件专业的学生十分重要。算法的描述可以通过自然语言、流程图、伪代码、程序设计语言等多种形式来描述。对于高职高专的学生来说,刚一接触就要求使用编程语言来解决算法问题无疑是不现实的。所以在本门课程教学过程中,传统的游戏导入能使学生更容易理解算法的精髓,而小型益智类的游戏则能激发学生的学习兴趣,用所学的知识去设计类似的游戏程序,做到学有所用。

比如,利用“按身高站队”的游戏让学生自然就可以体会到冒泡排序和选择排序哪种排序方法麻烦,哪种效率较高。抓住了关键点,就很自然可以理解算法代码中的核心语句,如冒泡中的“if a[i]>a[i+1]”和选择排序中“k=i; ifa[k]>a[j] k=j;”。再比如说,“猜数字”的游戏让学生快速理解折半查找算法的实质:每次找中间点并不断缩小范围。再去看算法代码时,就能够很容易找到“M=(L+R)/2”、“L=M+1”和“R=M-1”这样的核心语句。并且,猜数字游戏作为一个小项目完全可以要求学生独立设计、独立编写。

四、总结

“麻雀虽小,五脏俱全”。小游戏的开发不管是在项目的需求分析、业务实现、美工设计上,还是开发中的算法设计、编码、测试上,都涵盖了主流的编程技术和核心基础知识。再者,小游戏的趣味性在很大程度上提高了学生的学习兴趣和信心,也让编程这类枯燥的课程更接地气。而项目化教学对学生专业信心的树立、动手能力的提升、知识体系的构建以及综合应用能力的提升都有显著的效果。

参考文献:

[1]蒋宇,尚俊杰,庄绍勇.游戏化探究学习模式的设计与应用研究[J].中国电化教育,2011.

[2]杨兰娟,王金双,陈萍,陈融.游戏编程融入教学中的应用研究[J].电脑知识与技术,2016.

[3]刘君.高职编程类课程实践教学模式研究[J].职业教育研究,2013.

[4]邹回来.小游戏开发项目化教学在高职编程类课程中的探索与实施[J].中国信息技术教育,2016.

猜你喜欢
小游戏程序设计编程
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
专注力小游戏
编程屋完成数百元万天使轮融资
学编程,先画画