基于计算思维培养的小学图形化编程教学模式
曾奕焕
任务驱动法是小学图形化编程教学中最常用的教学方式,通过创设场景,引导学生利用和整合所学的基础知识模块去探索并提出解决任务的方案。但是,没有经过训练的学生总是有什么想法就直接上手拖拽积木,结果导致程序杂乱无章,思维混乱。在整个教学过程中,如何让学生在面对问题时能自主思考、理清思路呢?这就需要教师在前期教学中下功夫,培养学生良好的思维习惯。良好的思维习惯的养成少不了对学生计算思维的培养。下面,笔者以游戏“猜拳游戏——人机战”为例,阐述如何剖析软件,做到在小学编程教学中培养学生的计算思维。
● 寻角色,关联行为
在实际教学中可以发现,学生设计游戏时,总是想到什么角色就直接在程序中添加相关的积木,一旦游戏中的角色变多,整个程序就会变得冗杂,导致最后学生会放弃整个游戏的创作。因此,在程序创立初期,教师可以让学生先筛选角色,如果背景有动作,也应该添加进来。同时,分析每个角色的行为,并且做到尽可能详细,做到不错漏。画思维导图是一个不错的选择,能让学生理清思路,如图1所示。
● 排顺序,关联事件
游戏的角色和行为是独立的,但是可以通过事件积木将它们关联起来。教师可以让学生思考:哪些事件是同时发生的?哪些事件是有先后顺序的?哪些事件是重复发生的?这些都涉及学生对程序的三种结构“顺序”“分支”和“循环”的思考。例如,在“猜拳游戏——人機战”中,学生需要思考“计算机”和“人类”这两个角色的猜拳先后顺序,需要思考猜拳的局数如何循环,需要思考猜拳胜负结果出来后的胜负造型的展示,如图2所示。
● 依算法,搭建积木
学生在设计游戏流程图的时候,已经初步构想了游戏创作时所涉及的积木,但是流程图中具体的某些事件还需要构造算法。学生处于具体运算阶段,计算思维和逻辑较为模糊,教师应该引导学生针对某些复杂的事件做具体的分析,尽量将思路、算法写下并补充细节。
例如,在“猜拳游戏——人机战”中,由于胜负情况较多,学生在搭建积木时容易混淆错漏,教师可要求其将所有情况罗列出来。需要注意的是,每一种情况都跟角色的造型编号绑定,所以应该将对应编号写出来,如图3所示。
● 简模块,优化算法
在学生初步完成程序之后,游戏能正常运行了,但是角色的行为和动作涉及的算法可不可以更高效?程序中复杂的模块可不可以简化?这些都需要学生去思考。在优化算法这个环节可以开展小组合作探讨,小组成员交流之后挑选最优算法。例如,在“猜拳游戏——人机战”中,由于需要保留计算机造型的编号进行胜负判断,所以学生新建列表“计算机造型”进行存储。但是小组讨论优化算法后,直接使用“随机数”进行判断,如图4、图5所示。
● 找错误,修正程序
程序的算法进行了优化,还需要对游戏进行测试。修正游戏中的错误,是对学生思维和逻辑的一个很大考验,它要求学生学会寻找和测试临界值,还要求学生在面对程序错误时学会转变思路去修正。这个环节是学生最喜欢的环节,找出程序中的bug并对游戏进行修正,能让学生很有成就感。此时,教师可以引导学生进行成员之间的竞争,看谁找的bug最多。
● 再创造,创新游戏
课堂最有趣的地方,一是师生对话时学生富有想象力的答案,二是学生模仿教师的作品时让人眼前一亮的再创造。如果一节课能让学生转变——从等待教师的答案到自己寻找答案、从模仿教师的作品到创造自己的作品,那么这节课就是成功的。在每节课结束时,教师除了对知识点进行总结,还要引导学生创造属于自己的作品:教会学生防火的游戏,就要引导学生自己做防溺水的作品;教会学生做单机的游戏,就要引导学生自己做出联机的作品。例如,结束“猜拳游戏——人机战”后,学生做出了游戏“猜拳游戏两人PK”,图6为部分代码。
● 结语
小学信息技术学科的核心在于培养学生的信息素养,而计算思维是重要的组成部分,图形化编程作为有效培养学生计算思维的方式,正日益受到重视。要想高效地开展图形化编程教学,教师需要根据学生特点,选择合适的教学策略,教会学生剖析软件,细化流程,优化算法,寻找错误,创新游戏,让学生在乐中学、学中乐。