刊文精选

基于游戏项目二维分解的教学改革

来源:教育教学论坛     2019-3-14 20:39:40      点击:

黄金春 杜娟娇

摘要:随着互联网经济的高速发展,人们对信息处理的工具——程序的编写能力提出了更高的要求,因此,许多高校都把程序设计作为一门重要的培养程序编写能力的课程。为了提高教学质量,本文提出一种基于游戏项目开发的二维分解的教学模式,并以Java教学为例对游戏项目如何进行横、纵分解教学进行了说明,实践证明该模式可以提高教学质量。

关键词:游戏项目;Java教学;教学改革

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)41-0102-03

一、前言

随着世界互联网经济的高速发展,人们对于信息的重要性越来越重视,因此相对应的信息处理工具——程序的编写能力也同样越发吸引人们的重视。当今高校,都不约而同地增加了程序设计方面的课程。在众多的课程中,Java语言因具有面向对象、与平台无关、安全、稳定和多线程等[1-3]特点而成为了程序设计课程中的重要课程。如何教授好Java这门课程也就成为了各个教师所探索的课题。

二、Java课程目前的教学情况

由于种种原因,Java课程教学目前存在各种问题,主要有以下几点:

1.使用的教材还是以配合传统教学模式为主,此类教材按照Java需要教授的知识,把内容分散为不同的章节,导致教师授课形式单一,并且因上课时间的限制,在课堂仅能讲解语法和小部分应用知识,而实验课更是停留在功能单一的小程序或者完全是进行语法验证的程序上,无任何趣味性和实用性,难以激发学生的学习热情。

2.由于存在以上的教学模式,学生学习时无法把知识连贯起来,形成整体认识,在解决实际问题时不知如何应用。另外,这种小型碎片化的实验也无法让学生感觉到Java程序的强大功能,反而极易让他们产生“这个东西功能这么差,学来能有什么用”的思想,从而更易产生厌学情绪[4][6]。

3.课堂上老师讲的多,但几乎都是围绕介绍Java里某个类或者方法的使用,比如方法的参数、方法的返回类型等相关知识,但是却很少介绍这个方法应在什么场合使用,更无法演示在项目中的使用情况,故造成学生上课思考的时间太少,学生感觉课堂上是都听懂了,可是真正写起程序又觉得无从下手,不知道什么时候该怎么使用,动手能力不强。

三、基于游戏项目的教学改革

为了提高学生的动手能力,也为了让学生体会Java的强大功能,我们决定对Java程序设计课程的教学方法进行大胆的调整改革,引入一种新的教学模式,即以某个规模适中的小游戏项目开发过程作为程序设计课程学习的主体学习活动内容,课堂教学在不脱离教学大纲的前提下完全按照项目的进度进行。经过一个学期的探索,同学们都感到这样改革既符合现代大力提倡的以学生为中心的教学理念,也充分发挥了学生的创新能力。

1.改革教学游戏项目的选择。游戏项目作为整个设计课程学习活动的主线,怎么进行选择非常重要。教学游戏案例的主要作用还是教学,而不是游戏,因此其结构不应过于复杂,要让学生看得懂,以小型游戏为主。游戏的内容和任务应和课程相关,能涵盖课程的知识点,通过学习与实践,能起到训练学生程序设计能力的目的。选择的项目具备游戏的特征,具有娱乐性、挑战性、趣味性等特点,能激发学生的学习兴趣。基于以上的原则,这次改革选择了比较有代表性的导弹打飞机的游戏,该游戏主要是玩家控制导弹发射车发射导弹来打击上面飞行的飞机,同时玩家也要操控导弹车躲避飞机丢下的炸弹。该游戏代码量不大,经过课堂讲解,学生可以掌握。

2.项目的分解与教学实现。选择了合适的教学项目后,就要把项目进行分解,也便能把教学融入项目开发中。这是整个改革的重要环节,如何分解以及分解得好不好,目前还处于探索阶段,还不是最终的结构。现把本人的一些尝试进行说明。为了使项目更贴近于教学,本人把游戏项目进行了横向与纵向两维度的分解。

横向维度分解是指按照开发某个功能的逐渐深入进行分解。如:在项目里设计飞机飞行时,根据教学要求,分为不同阶段,分為不同的课时,共使用了三种模式进行设计。首先使用循环实现飞机的飞行,教授循环的知识,然后用多线程办法实现飞行,教授多线程的知识,最后再把飞行功能设计为飞机类的某个方法。再如:在项目里设计飞机的数量、弹药的数量等这些具有数量值的设计时,首先采用把设置值直接写到主程序中的设计模式,然后采用把设置值存到config.txt文件中的模式,最后是设计为一个配置类,把这些设置值作为该类的一个成员,程序通过调用获取的模式。通过对同一个功能的多种设计练习,不但培养了同学们的设计思路,也可以让同学们在设计时一步步地感觉到程序的强大,也一步步地增强自己学习设计的信心。

游戏项目纵向分解,是指其按照项目开发的进度进行分解。这样分解比较容易,主要是注意要结合课程的教学需要即可。如:在游戏分析、规划游戏的各个角色时可以结合教学的类、类概念、对象概念、面向对象程序设计概念、UML的基本知识。进行到游戏窗体设计时结合JFrame类、JPane类、Graphics类等的知识。本人纵向分解类似下表:

为了保持项目对学生的吸引力,游戏并不是一开始就完全按照所有的需求进行设计,而是把其设计为不同版本,每个版本都是一个完整的游戏设计(即具有游戏的完整功能)。最后在课堂上,每完成一个版本,还要求学生写总结,总结自己学到了什么内容,比较两个版本有什么不同,分别有怎样的优缺点。通过这样的学习,学生不但学会了对于此类型的设计该如何进行,而且还知道了什么时候使用哪种设计以及不同设计有些什么优缺点。这样无形中增强了学生的设计能力。

3.需注意的问题。(1)这种改革模式的教学在课堂上不按照教材的顺序进行讲解,而是根据教学的需要选取教材的某些内容进行讲解,教学跨度较大。因此,一开始学生可能不适应,不知道如何进行学习,故教师要把自己的课件还有课堂上的设计程序发给学生,并且还要适当设计和课堂内容相近的实验进行巩固和加强。(2)为了使教学更加顺畅,也为了让学生更容易掌握知识,教师在教授下节课内容时,提前告知学生要用到哪些知识,要求学生自己进行预习,有条件下,还可以在上课前问学生(鼓励主动)有关预习的内容(你学到了什么?你还有什么疑问?)(3)考虑到部分同学确实有学习困难,教师可以利用互联网建立具有讨论环境的网络学习环境,在网络进行辅导。

四、教学效果

本人在教授Java课程时,在两个不同年级里采用了不同的教学模式,14级采用普通教学模式,15级采用了本教学模式,在课程考核时都使用设计软件系统,学生答辩的考核方法。然后进行了对比,得到了如下的结果:

实践教学证明,基于游戏项目设计的改革能充分调动学生学习的积极性和主动性,学生们学习热情很高,上课非常活跃,很多学生在学习完一个版本后,课后自己都对版本进行了改进,如:上课版本里原设计飞机只有一架,同学能仿照例子自己编写代码,使飞机增加到多架。甚至有同学能通过自学自己编写代码,如原设计没有声音,同学自己增加了音效。这样,在学生的整体积极性得到提高的同时,也使程序教学的效能得到稳步提升。

五、结束语

传统的以教材知识点为顺序的“课堂讲授+上机练习”教学模式,容易造成知识的碎片化,不能进行融合,导致学生无法对所学知识形成一个完整的认识,也不能灵活应用这些知识,不能解决实际问题,没有系统的分析能力和开发环境的操作能力[5]。为此进行了教学模式改革,引入了一种游戏项目开发的教学模式,新的教学方式很好地激发了学生的学习兴趣,有效提高了学生的程序设计能力,取得了比较好的教学效果。

参考文献:

[1]耿祥义,张跃平.Java面向对象程序设计[M].第2版.北京:清华大学出版社,2013.

[2]杨程,陈念年,李郁峰.游戏开发驱动的Windows程序设计课程教改探析[J].教学研究,2012,(35):92-95.

[3]贾澎涛.基于游戏案例的面向对象程序设计课程教学改革[J].陕西教育高教,2011,(12):80.

[4]佟延秋.基于教育游戏的“Java程序设计”课程教学改革与实践[J].实践教学,2009,(44).

[5]姜大志,孙浩军.基于CDIO的主动式项目驱动学习方法研究——以java类课程教学改革为例[J].高等工程教育研究,2012,(4):159-164.

[6]张思,向华.基于游戏驱动的Java程序设计课程教学改革研究[J].计算机时代,2015,(1).


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286