谢雪芳
【摘 要】机器人教学已经进入小学信息技术的日常教学中。本文以“机器人沿线行走”一课为例,介绍了如何通过Makeblock mBot可编程教育机器人展开机器人教学。
【关键字】Makeblock mBot 机器人编程 编程教学
“机器人沿线行走”是信息技术六年级中的一课,学生在五年级时已学习过Scratch编程,有一定的编程基础,并形成了一定的计算思维素养。
随着小学信息技术教材的不断修订,六年级教材中的机器人课程的课时安排越来越多。由此可见,结合硬件的编程越来越重要。目前,很多学校都采用了Makeblock mBot可编程教育机器人开展机器人教学。
一、创设情境,激发学习兴趣
在我们的日常生活中,随着科技的飞速发展,机器人已经不是稀罕之物了,一些大城市甚至出现了机器人餐厅。在开展机器人课程教学时,教师要尽可能地拉近学生与机器人的距离,消除陌生感,从而更好地激发学生的学习兴趣。例如,在导入环节播放机器人送餐的视频,让学生观察机器人是如何行走的,引导学生发现机器人行走时是沿着黑线行走,从而引出教学内容。在带领学生一起探寻机器人的奥秘的过程中,学生都忍不住跃跃欲试。
通过这样的形式,让去过机器人餐厅的学生产生了一种兴奋感,大部分学生当时并没有关注机器人是如何行走的,从而产生想要研究的想法;没有去过机器人餐厅的学生好奇心更强,也想参与研究。
教学情景的合理创设,会对课堂教学的实施起到事半功倍的作用。好的情景不仅仅是为了激发学生的学习兴趣,在素养导向的教学理念下,我们更倾向于用创设真实的学习情景,抛出富有挑战性的问题,引导学生去探索问题、解决问题、改进方法、完善程序……
为了与开头的机器人餐厅送餐相呼应,一位教师在课堂的拓展运用时设计了这样一个环节:请学生帮助编写一个程序,实现从食堂到教学楼的机器人送餐,每个小组一张模拟图纸。这样的情景既与学生的生活实际联系了起来,又与课前的导入遥相呼应,让学生真实地感受到学习就是为了解决生活中的实际问题,学生的学习兴趣就更浓了。
二、实战演练,产生人机链接
如何让学生更好地理解和体验机器人的行走呢?教师可以让学生“演一演”,如让一个学生在教室里沿着某条路线走一走。人的眼睛能够有效辨别方向,那机器人呢?它的“眼睛”在哪里呢?要让机器人实现沿线行走就需要巡线传感器,巡线传感器实际上是由两个传感器Sensor 1和Sensor 2构成,每个传感器又由一个红外发射器和一个红外接收器组成。由于其经常被用来控制机器人沿着线走,故被称作巡线传感器,检测范围为1~2厘米。红外发射器在mBot行驶过程中不断向地面发射红外光:若红外光被反射,如遇到白色或其他浅色平面,则接收器收到红外信号,输出数值1,此时可观察到巡线传感器背面对应的蓝色LED指示灯亮起;若紅外光被吸收或无法被反射,则接收器收不到红外信号,输出数值0。
通过这样的形式,学生能很好地产生人机链接,从而更好地理解相关知识点,学生在一个真实的学习情景中学习,记忆更加深刻,体验更加真实,理解也更加透彻。
三、精准分析,了解核心思想
在慧编程Makeblock程序中有一个对应的“巡线传感器读数”指令,要实现机器人沿线行走,首先要了解机器人与黑色之间的几种情况。教师在授课的过程中,一般都是分析4种情况,然后让学生测一测返回值,做好相应记录。那么学生真的懂了吗?
在一次听课过程中,有一位教师讲解得非常清楚到位,后来那位教师说,她在上课之前也不懂,为了上好这节课,她课前以学生的身份来深入研究、思考、学习,正是这样一种精神,让她在上课的时候能充分考虑学生的学习情况,使得课堂学习气氛和学生的学习效果都比较好。机器人的下方有两个传感器,所以线是有一定的宽度要求的,当两个传感器都在黑线上时,两个传感器的返回值都是0,此时“巡线传感器读数”为0;当右侧的传感器不在黑线上时,也就是机器人往右偏时,返回值分别是0和1,所以“巡线传感器读数”为1;当左侧的传感器不在黑线上时,也就是机器人往左偏时,返回值分别是1和0,所以“巡线传感器读数”为2;当速度比较快或者有转弯情况时,也会产生整个机器人小车都偏离黑线的情况,也就是两个传感器的返回值都是1,此时“巡线传感器读数”为3。接着,教师让学生测一测返回值,那返回值为什么是0、1、2、3呢?原来是计算机语言中的“00”“01”“10”“11”,最终都是用二进制来表示的。教师在这里适时地向学生介绍一下二进制数,既让学生知其然又让学生知其所以然,而且也渗透了计算机的核心思想,真的是非常巧妙。这些正是这位教师为了更好地搞懂、摸透教材,在自学研究的过程中发现的,然后以学生的心理为出发点来进行课堂设计。
信息技术的发展日新月异,这就要求教师在有限的时间里,教给学生一些终身有用的东西——学习方法和学习能力。
四、知识迁移,巧妙解决难题
机器人沿线行走是如何行走的呢?除了观看视频,了解现实生活中机器人的行走,其内核到底是怎样的?怎样快速地让学生理解,并轻松地尝试搭建脚本?学生在五年级上半学期Scratch编程中学过“赛车游戏”一课,赛车游戏是通过模拟传感器实现控制赛车的方向的。现在,我们手上的机器人是通过真实的传感器来实现控制方向的。教师带领学生一起进行分析,巡线传感器的返回值一共有4种情况,那如何编写程序脚本呢?
为了唤醒学生的记忆,一位教师把五年级学过的赛车游戏的脚本拿出来让学生进行对比,赛车游戏是始终让赛车在轨道上行驶,一旦出现偏离就要进行纠正,也就是不考虑完全偏离轨道的情况。赛车游戏设置了两个模拟传感器,暂且叫橙色传感器和蓝色传感器,实际上是通过一种颜色是否碰到另一种颜色来进行判断的。当左侧传感器碰不到轨道的颜色,那就要右转;当右侧传感器碰不到轨道的颜色,那就要左转;模拟传感器是通过“颜色碰到颜色”来实现侦测的。要用到2个“如果……那么”的语句。
机器人沿线行走是通过“巡线传感器的返回值”进行判断的。两者之间存在一定的相似性,但侦测的依据不一样,用到的指令也不一样,所以具体细节上编程语句也相差不少。在教学中能合理地实现知识的迁移是一种非常有效的方法。当然,在具体的实践过程中,教师要把握好度,不能过多地纠结于旧知,点到为止即可。本课中只需让学生知道其中的联系,而并不是要去分析赛车游戏的脚本。这样可以把更多的时间留给学生去探索机器人行走的脚本。因此,进行对比分析花过多的时间并非合适的做法。在新旧知识对比迁移的时候,只要让学生联想到要用“如果……那么”的语句即可,2种情况是2个语句,那么4种情况就是4个“如果……那么”语句。而并不需要把整个赛车游戏的脚本拿出来进行一一解读、对比。
五、合理引导,全面优化程序
在编程教学中,教师要不断地引导学生分析问题—实践探究—反思—再实践—再反思……逐步实现程序的最优化。
在“机器人沿线行走”的程序编写过程中,学生实现了“机器沿线人行走”以后,教师就要引导学生考虑如何去实现程序的优化。“行走”,第一想到的就是提升速度。
在程序优化的時候,3位教师都是引导学生提升速度,要提升速度一般意义的理解就是提高动力百分比。课堂上,大多数学生都是在调整动力百分比,有的学生有赛车游戏的经验,逐步尝试,确实优化了程序,在不断地调试过程中也体验到了很多的乐趣。看着学生一丝不苟的探究、尝试,修改数据,作为教师甚是欣慰。
然而有点遗憾的是,教师并未引导学生作更深入的思考:除了改变动力速度来提升速度以外,还有没有其他方法了呢?事实上,提高动力速度固然可以提升速度,但是程序的优化要做到极致,恐怕对程序的脚本也有一定的影响。4种情况,4个判断语句,便于学生理解,假如就完成任务而言,一点错都没有,可是每一次判断,都要去读一次选线传感器的返回值,这里都要花费时间,那能否简化呢?这里教师首先要考虑全面,或者必须对设备有更深、更透的了解,这样才能把可能的情况都考虑进去,才能很好地进行预设,引导学生编写出更加完善的程序。因此,教师的合理引导非常重要。
要上好一节课,必须考虑到方方面面的问题,教师自身首先要将教学内容研究透彻。现在信息技术有很多新的教学内容,确实对每一位教师而言是一个新的挑战。打铁需要自身硬,每一位信息技术教师都必须与时俱进,不断去学习新的知识,更新自己的知识结构,实现教学相长。