永安市巴溪湾小学
2022年版义务教育信息科技课程标准背景下,课程目标更加注重信息素养的培养,其中主要包括信息意识、计算思维、数字化学习与创新、信息社会责任四个方面的素养。学生编程思维及信息素养的培养就显得格外重要,而在日常教学中如何有意识的培养学生的编程思维,以下我将以《打地鼠》系列课程为例进行阐述。
一、以玩促学,激发学生的学习兴趣
简单的鼠标操作控制游戏,可爱经典的地鼠形象,是学生日常生活中熟悉的“打地鼠”游戏,小学生对熟悉的游戏如何用电脑编程实现具有强烈的好奇心和求知欲。
兴趣是学生进行编程学习的内在驱动力,通过游戏效果展示导入新课充分调动学生的主体性。之后从角色逐一解析,通过“游戏中有什么角色?”、“锤子开始是什么状态,跟随着谁移动”“当按下鼠标左键锤子的状态又有什么变化?”“地鼠是怎么出现的?”“如果锤子打到地鼠,地鼠会有什么变化?”等一系列问题引导学生从编程的角度积极思考主动分析各角色运动的特点及角色间的逻辑关系。
课中,通过灵活运用画板工具绘制地鼠洞,设计游戏素材来调动学生的积极性,发挥学生的创造力。同时引导学生思考如何使地鼠从多个地鼠洞中随机出现,对于学生来说,地鼠的出现与消失是通过外观模块中的显示与隐藏来实现的,这一解决办法是学生能够想到并且能准确表述出来的。但是对于地鼠出现的地点随机和时间随机可以运用什么样的积木模块来实现对于学生来说是较为困难的,时间随机通过教师提示,学生可以想到通过“等待时间”与“随机数”两个积木块的结合来实现,地点随机学生只能想到通过复制地鼠角色以及“移到XY”结合时间随机来实现。在游戏的过程中,学生发现此编程模块存在漏洞,主动思考如何修正程序避免游戏漏洞,而这一矛盾点充分激发了学生主动探究的欲望,提高了学生的观察能力及逻辑思维能力。
二、以玩促思,引发学生深入思考
编程教学不能停留在让学生完成某个编程案例作品的层面,更应注重学生对程序设计中基本思想的了解,培养学生的编程逻辑思维能力。因此,要培养学生的的编程逻辑思维能力就要遵循一个准则,在日常教学中根据进程选择上下连贯并且相互交叉的教学内容,能使学生每课时都能巩固旧知而后学习新知。这就需要教师通过创思系列课程,承上启下式对学生进行编程教学。
《打地鼠》这一游戏的主要编程思路有两种,一种是以“广播”积木的方式实现地鼠出现的地点及时间随机,另一种则是以复制地鼠角色并通过“等待时间”与“随机数”积木嵌套的方式来调动地鼠,二者均有自己的优缺点。从程序模块的效率来看,“广播”积木的方式会节省更多的积木块,并且能避免记分过程出现中的漏洞。
在实际教学中,通过鼠标单击触发命令实现击打地鼠效果,通过触碰及单击触发命令实现击中地鼠记分,综合运用命令模块,实现制作小游戏,提高学生的编程软件操作能力。学生在编程的过程能自行发现第二种方式在游戏加入积分后有明显的缺漏,这一漏洞的发现充分激发了学生的探究欲望,以此为例引导学生深入思考。
调用“广播”积木块来实现地鼠的位置随机这一方法对学生来说具有挑战性,教师可以稍作引导。如迁移到之前学习的《猫抓老鼠》这个例子中,“猫抓了那么多次老鼠,我们怎么来计算得分呢”,“我们是通过什么来触发判断游戏是否过关或结束?”,帮助学生复习记分涉及到“变量”与“广播”的设置,教师可以引导学生阅读教师准备的帮助文件《Scratch秘籍》中关于“变量及广播”的应用这一模块的知识电,让学有余力的同学自行尝试,逐步提高学生发现、分析、解决问题的能力,培养逻辑思维。
三、以玩促新,引导学生实践创新
“以玩激趣,以趣促学,以学助新”,兴趣是最好的老师,游戏是最好的形式。教师要善于把复杂的程序设计转化为学生易懂的游戏思路,通过“设计游戏——制作游戏——完善游戏”的方式锻炼学生的编程思维。为了不断激发学生的学习欲望,在制作游戏的过程中,教师要善于设计具有挑战性的编程任务。
以《打地鼠》系列课程为例,学生有了基础后,教师就可以让学生对已完成的程序进行二次创作了,学生的创造力是不容小觑的。对于《打地鼠》这一游戏,学生会通过增加洞的数量、改变锤子的大小、地鼠的大小来增加游戏的趣味性,并通过“变量值”的不同来影响最终的游戏积分。
在二次创作阶段,学生对已完成作品进行再次创作、优化、完善,并进行展示交流,满足了学生对于表达与创作的需要,促进了知识与技能的迁移,锻炼学生的创造性思维,培养了创新能力。
四、结语
信息科技课堂的一个重要组成部分是程序设计,这一部分对于学生的逻辑思维、问题解决能力及创造能力的影响都是不可言喻的。在日常教学中,教师可以结合教学目的创作合适的课程范例,并通过“发现问题——分析问题——解决问题”这一教学方式,提高学生的逻辑思维能力及操作实践能力。为了构建合适的问题支架,让学生用自然语言描述问题,教师要钻研范例课程中的积木脚本,并对学生可能提出的问题进行初步预设,使得学生在发现问题、研究问题的过程中逐步理解编程的设计方法。
在遇到问题时,引导学生可以将其分解为三步来解决:首先弄清楚到底是什么问题,其次思考问题的不同解决方法,最后验证所考虑的不同方法。也可以以小见大,先解决小问题再解决大问题,在解决问题的过程中有助于提高学生的注意力、记忆力和反应能力,有益于编写程序和培养学生的编程思维。
本文系2021年永安市级立项课题《中小学人工智能编程教学策略研究》课题研究成果,课题立项编号:YAKT2021059。