设计游戏程序案例提升程序教学效能——浅谈游戏案例法在程序设计教学中的运用
2012-12-07张远平
☆张远平
(东莞市经济贸易学校,广东东莞 523106)
案例教学法在当前计算机程序设计教学活动中已经得到了充分的应用。在教学过程中,教师往往会根据教学目标的要求设计出具体的案例,从具体问题出发引导学生独立思考,提高综合应用计算机语言的能力。因此,设计程序的案例,是开展程序设计教学中一个特别重要的环节。目前,程序设计类的课程已经重视了案例的设计,但是,案例的设计仍然侧重于控件的应用,课程讲解的立足点还是在语法、语句方面,内容枯燥乏味、深奥,很大程度上压抑了学生逻辑思维方式的激发。新教学理念主张:“在学中玩,在玩中学”,把案例的题材设计成游戏程序,恰好解决了这个问题。从实际教学效果来看,游戏案例教学法从心理上刺激了学生的求知欲望,化“要我学”为“我要学”,良好地实现知识的迁移,是提高教学效能的一种有效手段。
一、游戏案例教学法的特色
夸美纽斯认为:“兴趣是创造一个欢乐和光明的教学环境的主要途径之一。”现在的学生喜欢玩游戏,脑瓜灵活,喜欢钻研有趣味的事物。而游戏案例教学法正是在案例教学法的基础上,结合愉快教学法,把小游戏的程序引入课堂,作为程序教学的催化剂。通过游戏程序的独特性,让学生在案例的阅读、思考、分析、讨论中,建立起一套适合自己的完整而又严密的逻辑思维方法和思考问题的方式,以提高学生分析问题、解决问题的能力,进而加强知识的联系。游戏案例教学法有如下几个特点:
1.目的性
基于特定的案例,具有明确的任务目标。课堂上以游戏案例为主线,贯穿整个教学环节。在任务驱动的方式下,设计一些受欢迎的小游戏程序,学生能根据教师的演示理解案例的需求,快速明确“要做什么”。
2.趣味性
良好的游戏案例能刺激学生好玩的天性,激起学生的好奇心、求知欲和积极思维。孔子说过:“好知者不如善知者,善知者不如乐知者。”游戏案例法灵活而有趣,符合学生的心理特征,在情感态度与价值观方面都能促进学生的学习动机。
3.综合性
教学心理学认为,思维的最佳路径是经过自己大脑思维从多种路径中选出来的,甚至是从相关知识的综合运用提炼出来的。小游戏程序的开发往往需要综合运用循环、数组、逻辑判断等知识,这些知识都是程序设计课程中的难点。通过游戏程序的开发,能把这些难点综合在一起,实现知识的串联。
4.实用性
玩游戏已经成为当代学生的一种常见的休闲消遣方式,因此,游戏案例题材比较贴近青少年的生活。游戏案例教学告诉学生程序是开放的、实用的,不是封闭的、形式的。编程的目的不再是简单地为了交作业,而是实现一个有趣的作品。
二、游戏程序案例的设计要求
传统的案例相对独立,较少考虑从趣味性上提高学生学习的兴趣,一定程度上阻碍了知识的综合、迁移应用。游戏案例法教学是以案例为中心,以游戏程序为催化剂,激活学生的编程动机。要想有效提升教学效能,游戏案例的设计是教学设计的关键。总的来说,游戏案例的设计首要的原则是要为教学服务。在课堂教学中,游戏案例设计应满足下面几个条件:
(1)游戏案例要“小”,简单实用。
(2)游戏题材要健康、益智。
(3)游戏最好是经典的游戏,有足够的趣味性。
(4)游戏题材应该难易适中,紧扣教学内容。
(5)游戏题材能引导学生解决实际问题。
(6)游戏题材有利于学生思维的提升,挖掘学生潜能。
三、游戏案例法教学的开展
1.引入游戏案例
根据游戏案例设计的原则,教师在备课时应对案例进行精心的挑选。案例的来源很多,教师可以独立设计,也可以以传统的棋牌类游戏、手机游戏等为题材,例如:贪吃蛇、推箱子、打地鼠、俄罗斯方块等。这些游戏对学生来说耳熟能详,多数都是日常生活中很受欢迎的小游戏。可以说,使用熟悉的程序设计语言,实现自己喜欢玩的小游戏,对学生来说还是很有吸引力的。教师在引入案例的时候,一方面要通过演示案例活跃课堂气氛,吸引学生注意力;另一方面应该强调案例的挑战性,激发学生的学习热情。
2.游戏案例的分析和引导
兴趣带入门,实现是关键。教师要鼓励学生带着一颗解决问题的心去完成所给的案例。典型的游戏案例分析应包括以下相关的问题:游戏程序的设计包括几个模块?模块实现的先后顺序?关键问题在哪里?哪些方法最适宜解决问题?
别指望学生会行云流水般把程序的代码写出来。教师的引导应恰如其分,启发学生的思维是根本。可以考虑从以下几个方面进行引导:(1)界面设计,提倡个性化设计;(2)讨论疑难问题,强调技术攻关的重要性;(3)提供解决方案,适当提示设计流程;(4)讨论如何实施。
3.游戏案例的测试和讨论
跟普通的案例不同,游戏案例应该提倡分享。如果学生的作品能得到别人的肯定和使用,肯定有很强的成就感。教师在教学中,增加一个案例测试的环节,把主动权交给学生,要求学生把程序集中在一起,并提供具有程序编号、使用反馈等信息的表格。学生分小组测试组内同学的作品给出反馈意见。教师把学生反馈的信息综合供大家讨论,选取最佳的实施方案,要求学生进一步完善自己的作品。
4.概括总结
这个阶段通过案例讨论引申出一定的结论。在总结中,要揭示出游戏案例中包含的理论,强化以前讨论的内容,提示后续案例,给参与者以鼓舞。
四、游戏案例法教学实例
案例名称:打昆虫游戏的设计与制作。
教学对象:中等职业学校二学级计算机专业学生,具备VB程序设计基础知识。
教学目标:通过打昆虫游戏的程序设计,学生能熟练掌握控件数组的应用,培养学生独立思考、自主探索的学习态度并提高逻辑思维能力。在情感激发方面,使学生在学习过程中能热情高涨,兴趣盎然。
教学法:小组讨论、游戏案例法、愉快教学法。
教学素材:昆虫图片、剪刀光标。
案例描述:游戏界面中,昆虫随机出现,1秒后消失,然后在另一位置随机出现。用户移动鼠标击中昆虫,昆虫变成击毙状态,得分加10分。该案例类似于腾讯QQ餐厅游戏中的“打地鼠”功能,多数学生较为熟悉,具有一定的代表性。游戏界面设计参考图1。
图1 游戏界面
知识点:随机函数、控件数组、计时器、鼠标事件。
技术难点:(1)昆虫的随机显示;(2)响应鼠标事件的处理过程。
案例分析:该游戏功能简单,操作方便,设计难度适中。要求学生能灵活运用计时器和控件数组,控制昆虫的显示。
案例演示:从腾讯QQ餐厅游戏的“打地鼠”功能引入,演示“打昆虫”游戏的操作。使学生的注意力集中到游戏的演示操作,课堂气氛一下子活跃起来。
讲解及引导:使学生的注意力转移到游戏程序的实现。提示游戏分为几个步骤(启动,昆虫的显示和隐藏,处理昆虫点击事件,计分),运用的关键技术,并提出思考的要求。例如:提示昆虫的显示与隐藏与计时器的关系,使学生心领神会,实现之后其兴奋的心情溢于言表。
编程实践:定义全局变量mVis和mScore,分别表示可见昆虫图片的索引和得分(设计问题:为什么有些学生的昆虫总是在同一个地方显示?答:没有定义全局变量)。
游戏开始后,通过随机函数指定要显示的昆虫图片,从而确定昆虫出现的位置。Rnd函数随机产生0~1的数值,Int函数的目的是取得整数值作为图片的索引。
游戏进行过程中,隐藏当前昆虫,随机确定要显示的昆虫图片(设计问题:为什么昆虫图片能在计时器过程中实现显示和隐藏?答:通过公共变量mVis的随机变化)。
击中显示的昆虫图片,变换昆虫图片,同时显示当前得分(设计问题:如何获取昆虫图片的索引?答:通过Index参数)。
集体测试:把学生的程序集中,分组集中测试,填写程序测试报告表。
教学反馈:学生反映完成程序后,觉得代码量并不大,控件数组的应用具有很强的灵活性。最大的收获是编程很有乐趣,非常有成就感。其实,编程的难度并不是很大,以往没有掌握好只是因为没有开动脑筋。显然,通过小游戏的开发,学生没有平时编程产生的挫折感,有“开窍”的感觉。
教学扩展:游戏案例的功能还可以拓展,例如:增加声音效果,设置难度级别,保存积分等。本人在教学中提出版本开发的构思,让学生在课内课余进一步完善程序的功能,将游戏案例法的教学环境扩展到课余时间。
五、游戏案例法实施后的反思
尽管游戏案例教学的开展提高了学生学习的兴趣,发挥了学生的学习主动性,但游戏程序的开发需要一定的灵活性,难点较多,教师在教学过程中要不断地给予引导和提示,可以说,教师的教学负担并没得到缓解。另外,40分钟的课堂时间使得案例相对零散,弱化了创造性意识的唤醒和激发。实际教学过程中,教师可以准备好案例的半成品,学生把游戏的功能“填”进去,最终完成一个完整的作品,这样最大的好处是培养学生阅读程序的能力,领悟程序编写的思路,形成良好的编程习惯。游戏案例法是提高程序设计课堂教学效能的一种有效手段,游戏案例的设计宜精简、有趣、实用,难度大、耗时多的案例有时会起到反作用。教师在做教学计划时要合理编排,把游戏案例法穿插在教学计划中,充分发挥游戏案例的作用,使学生变成“编程迷”。
六、结束语
实践探索证明,运用游戏作为案例能充分调动学生学习的积极性和主动性,提高学生的注意力,活跃课堂气氛,教学质量也有相应的提高。游戏案例法是案例教学法的延伸,是教学实践的一种局部的创新,也是教师在新教学理念改革的前提下,确立以学生为中心,以学生主体实践为主,以培养学生智力素质、创新精神和创新能力为基本价值取向的一个有效手段。案例教学法能促进教学相长,在学生的整体积极性得到提高的同时,突出教师教学实践的亮点,使教师在教学中获得充分的满足感,从而使程序教学的效能得到稳步提升。
[1]修宏洪.案例教学法的运用探讨[J].福建电脑,2011,(1).
[2]贺忠.游戏思想在程序设计语言课程教学中的应用[J].计算机教育,2009,(13).
[3]肖红玉,孙玮,黄静.游戏化学习在程序设计课程实验教学中的探讨与实践[J].价值工程,2011,(1).
[4]刘玲,向占宏,黎丽霞.职业院校计算机理论课案例教学的实践与分析[J].当代教育论坛,2009,(8).