王秋飞
《算法程序设计》课程是高中信息技术的核心课程,以后专业人才培养核心岗位所具备的知识和技能都离不开本课程的学习。面对学程序难这一难题,我采取了游戏教学,游戏教学是结合“游戏“和”教学”为一体的一种寓教于乐的教学方式。结合程序设计课程中的特点,对游戏教学在程序设计课程中应用进行探讨,取得较好的教学效果,希望对教学起到一定的参考借鉴作用。
2017年7月,国务院印发了《新一代人工智能发展规划》,其中提到建议实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。在中学阶段设置人工智能相关课程、逐步推广编程教育、建设人工智能学科,培养复合型人才,形成我国人工智能人才高地,中学阶段学习编程是必然的趋势,也是青少年人才发展的必然。
《算法与程序设计》是高中信息技术课程中的一个选修模块,课程目标是培养学生分析问题、并运用所学知识设计程序从而解决问题的能力。在基础教育阶段,“算法与程序设计”教学的关键是要帮助学生建构这种认知结构, 而不是注重学生掌握多少具体的语法知识与编程技巧,进一步的目标在于提升学生的信息素养,为其终身发展奠定良好的基础。
游戏教学法,顾名思义,就是以游戏的形式教学,使学生在轻松的氛围中,在欢快的活动中,甚至在激烈的竞争中,不知不觉地学到教材上的内容,或者学到必须掌握的课外知识的教学方法。简单地说,游戏教学法就是将“游戏”与”教学”两者巧妙地结合在一起,从而引起学生学习兴趣的教学方法。
在对“算法与程序设计”课堂上,游戏教学法的实施要严格按照“以学生为中心, 教师为主导”的原则来进行。首先,教师要明确本节课的教学目的,对于游戏应出现的环节,教师应明确该游戏的目的,并在设计游戏时结合教学内容,达到教学目标,防止因游戏法使用不当而造成浪费课堂时间的现象。其次, 教师要精心设计游戏内容,对在设计课堂游戏内容时要注意避免游戏环节繁琐化。最后,教师要把握对课堂的掌控力,对层次不一和接受能力不一学生的课堂响应程度有充分的应变能力。
3.1 从简单程序入门,激发学生兴趣
传统教学讲解算法和计算机解决问题一般步骤,我们会拿人解决问题作为引入,我们先是举个例子,今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?求解方法一:逐个数去试;求解方法二:运用最小公倍数知识。我们人解决问题的过程先观察、其次分析问题,最后根据已有知识经验进行判断、推理,尝试按一定方法和步骤去解决问题。于是就引入了算法和计算机解决问题的步骤。这样的引入学生对算法的概念还是停留在数学的解题方法,对计算机的解决问题的基本过程还是很模糊。几年来我们上程序设计第一课讲算法和计算机解决问题的基本过程,一节课下来学生云里雾里,脑海中就是《算法与程序设计》这门课高深莫测。
针对此现象今年上这门课,我换了一种教学模式,用风靡全球的CodeMonkey进行引入,这里简单介绍下这款游戏,CodeMonkey是一款在线编程教育课程、闯关模式的编程游戏。游戏的主角是一只猴子,它最爱的香蕉被强壮的猩猩抢走,而游戏的目标是帮助猴子夺回香蕉。我告诉同学们猴子要吃到香蕉我们必须要有猴子去吃香蕉的方法和步骤,如图(1):
帮助猴子吃到香蕉写的解决方案,这就是算法,学生一下子就明白过来,解题方法的精确描述这就是算法,接着我又问学生,你们看到猴子吃香蕉的画面,首先要在脑海分析,其次写出步骤,然后再写代码,运行代码,如果错了,继续修改你的代码,直到猴子吃到香蕉。于是引出计算机解决问题的基本过程:分析问题、设计算法、编写程序、调试运行、检测结果。学生在玩游戏过程中理解了什么是算法,计算机解决问题的基本过程是哪些。课后我去了解学生的掌握情况,学生都说易懂,清晰明了。后来我也用此在线游戏上了几节课,发现效果不是一般的好,激发了学生学习程序的兴趣,打开了编程之门。在游戏中,学生通过编程、发挥想象力通过一道又一道关卡,学生在闯关中由易到难得学习编程,不知不觉提升了編程能力。
3.2 从学生实际生活出发, 巧妙破解循环难题
教授不同班级,进行学情分析,因材施教,采用不同的教学方法,从而提高不同层次的学生水平。
今年我带的是特长班,他们的数学底子薄,所以循环对他们来说很难理解,于是我把循环渗透到他们的美术专业上来,我展示了一张图片,叫同学们自己在纸上画出来,他们都把大致图形画出来,但是没那么精准。我趁机引导,如果要电脑来画怎么画,于是我打开《我的世界》这个在线游戏,让学生一试 (图2) 。
学生很快就让电脑画出来,我告诉他们我们画这个图的时候运用到了循环,循环是程序中最为典型的结构,我们主要要找出循环体,让程序变得更短,程序如图3:
在教学过程中,我事先针对各层次、不同班级的学生设计不同的教学目标与练习,使得处于不同层的学生都能"摘到桃子",获得成功的喜悦,很多老师都说不愿意带特长班,因为他们太有个性,文化科知识又差,我通过游戏因材施教,这极大地改善了教师与学生的关系,从而提高师生合作、交流的效率,其次,教师在备课时事先估计了在各层中可能出现的问题,并做了充分的准备,使得实际施教更有的放矢、目标明确、针对性强,增大了课堂教学的容量。通过这一游戏教学法,极大提高课堂教学的质量和效率。
与传统教学相比,游戏教学法充分调动了学习者的积极性,以学生为主,注重师生互动,注重学生思维和能力的培养,注重理论与实践的结合,提高学习者的课堂参与度,使其在轻松的课堂气氛中,在欢乐愉快的活动中,在激烈的竞赛中,不知不觉地接受教师所传授的知识。因此,本文从切身的教学实践出发,总结出一些饶有趣味且易于操作的游戏教学法,并加以解释与分析,旨在为《算法与程序设计》课堂教学提供一定的参考和借鉴。
(作者单位:河源市田家炳实验中学)