章丽
安徽省芜湖市弋江区信息科技教师,多次指导社团人员参加全国中小学信息技术创新与实践大赛,成绩斐然,积极带领学生参加芜湖市信息化素养展示活动,屡次获得优异成绩。2022年被评为弋江区“教坛行星”,弋江区中小学智慧教育“种子教师”。
教学背景
为进一步落实“双减”工作,探索课后服务新思路,我校结合实际积极开展了丰富多彩的社团和活动课程,编程社团就是其中之一。本社团以培养学生计算思维,提高学生学习电脑编程兴趣为主要目的。学校从二至六年级选拔有编程基础或对编程感兴趣的学生,并根据年级分成低阶编程和高阶编程两个社团。
本案例属于低阶编程的教学内容,运用图形化编程软件Scracth设计制作草船借箭游戏。该课时是在前面学习的基础上,新增加了“克隆”指令,从而实现舞台上出现成千上万支箭的效果。
学情分析
本节课是Scracth初级课程,教学对象是本校36名来自二、三年级的学生,经过第一节课的初步调查,教师了解到36名学生中有11名是有编程基础的,这11名学生在外或报过编程班或在一些网站上自学过类似的图形化编程。其他学生中有几名二年级的学生在此之前未使用过电脑。
之前的社团课学习,学生学会了制作几个简单的小游戏,会在Scratch中对角色的基本属性进行编写,控制角色做一些简单的动作。这节课将在前面学习的基础上,让学生认识舞台“坐标系”,学习“克隆”这个新的指令。对他们来说,本节课可能理解起来有一定的难度,尤其是需要达到隐藏“本体”,显示“克隆体”的效果。
教学目标
1.知道Scratch舞台横坐标与纵坐标的范围。
2.理解Scratch软件中“克隆”的含义。
3.通过创设草船借箭的情景,掌握“克隆”这个指令的使用方法。
教学重点与难点
教学重点:理解Scracth软件中“克隆”的含义。
教学难点:掌握“克隆”这个指令的使用方法,以及动画互动的方式。
教学过程
环节一:故事导入
师:上节课我们讲到刘备等人三顾茅庐,终于请到了诸葛亮的故事,后续诸葛亮带他们取得了多次胜利,那同学们知道哪些关于诸葛亮的事迹呢?(学生自由讨论回答)
师:空城计、七擒孟获、草船借箭等故事都充分体现了诸葛亮的足智多谋,这节课我们就来了解一下草船借箭的故事。(教师播放有关草船借箭的视频,请学生叙述故事发生的过程)
师:周瑜故意刁难诸葛亮,让他在10天之内造10万支箭。诸葛亮借了鲁肃20条小船,船上装满稻草人,利用大雾让曹操上当受骗,奉送上10万支箭。那下面我们利用之前学习过的程序来协助诸葛亮借到箭。(引出课题)
环节二:编写程序,实现万箭齐发
1.认识坐标轴范围
学生打开Scratch软件,上传本节课的初始程序。
师:箭是从对面“曹操军队”发射过来的,我们需要为箭设置初始位置,这时候需要先来了解一下舞台的坐标范围。我们将x坐标取值范围设定为-240到240;y坐标取值范围设定为-180到180,最大值180表示舞台最顶端。
2.重复执行,控制箭的运动
师:箭从舞台顶部移动到舞台底部时,坐标发生了什么变化?
学生思考并举手作答,教师对学生的回答做出指导和评价后,总结出“y坐标不断减少”的规律,然后让学生编写实现箭从顶部不断移动到底部的程序。学生完成任务,教师展示正确的程序样例,如图1所示。
教师提问:箭移动到舞台底部时,会卡住不动,那如何处理卡在底部的箭呢?(学生思考并作答)
师:判断箭是否到达舞台底部,需要将箭的y坐标值和-180进行比较,如果小于-180,则表示达到了舞台底部。
学生根据要求编写程序,运行程序观察最终的效果。但是学生会发现再次运行程序时,箭消失了,那如何再将箭显示出来呢?(学生自由回答,并动手操作实践添加“显示”脚本)
教师讲解“重复执行直到( )”命令,如图2所示。当满足条件时,执行循环外面的程序;不满足条件时,执行循环里面的程序。接着,教师将重复执行和重复执行直到( )两个命令进行对比讲解。
3.克隆箭,实现万箭齐发
师:现在可以成功地发射一支箭了,但是箭的位置却是固定的,那我们如何让箭从顶端的任意位置发射呢?这时需要使用运算模块中的“在( )和( )之间取随机数”脚本,还记得舞台x坐标的取值范围吗?(学生动手操作)
要想实现“万箭齐发”,我们需要不断地复制箭,就像孙悟空拔一根毛可以变成若干个孙悟空一样,在程序中我们将具有复制功能的语句称为“克隆”,如图3所示,同时要想让克隆体发生变化,还需要用到“当作为克隆体启动时”脚本,如图4所示。学生尝试使用克隆的指令,让箭从舞台上方纷纷落下。教师展示程序范例。
师:运行程序后,我们发现一段时间后就不再发射箭了,这是为什么呢?(学生思考并回答)
当我们将克隆体都隐藏在舞台边缘,达到最大的克隆体数量时将不再克隆,此时需要将底部的克隆体删除,使用控制模块中“删除此克隆体”脚本,学生们修改程序并运行程序观察效果,如图5所示。
学生以小组为单位,讨论如何处理箭发射速度过快的问题?小组代表给出解决方案。
教师总结:添加一个等待时间,让克隆速度变慢。
环节三:利用方向键控制船只,收集发出的箭
实现万箭齐发的效果后,教师继续布置任务,让学生利用方向键来控制船只的左右移动,达到控制船只收集箭的效果。学生根据教师给出的提示脚本,尝试编写程序。教师展示正确的程序示例,如图6所示。
师:如何统计不断变化的箭的数量?如何表示收集到了箭?
变化的数据需要借助变量存储,可以新建一个变量,用来统计收集到的箭的数量。当箭碰到草船时,将箭的数量增加1,同时记得删除克隆箭,如图7所示。
学生会观察到箭的数量确实发生了变化,但是教师要提醒他们注意如果每次不是从0开始计数的,那就需要设置一下变量的初始值。
环节四:教学总结
本节课通过对克隆案例的学习,学生们掌握了“克隆”指令的使用方法。教学过程中,教师对学生已经掌握的内容,采用让他们自主学习的方式;对新的知识点教学,让学生们讨论、探究并尝试解决问题,在解决问题的过程中学习新的知识,提高解决问题的能力。
教学反思
在本节课的教学过程中,教师介绍“克隆”指令之后,引导学生思考如何使用这个指令达到万箭齐发的效果,其中会遇到什么特殊情况,如何处理这些问题。学生在这些问题和任务的指导下,一步步由浅入深地思考如何在Scracth环境中使用指令解决这些问题。
学生练习中出现的学习能力分层是教师本节课要面临的问题,由于前面分析时间比较长,加上调试环节,可能部分学生来不及实现想要的效果,而基础较好的学生可能早早就完成了任务,这时候教师应该再布置一些拓展提升的任务,例如游戏成功与失败的反馈,让快速完成任务的学生能够进一步探究。教师还可以安排一些时间给学生分享劳动成果,分享时也要分层次进行,给基础薄弱的学生更多的机会,让他们体验Scracth软件的乐趣。