探讨“填空式”方法益于线上程序设计的学习

    谭国聚 孟延豹

    前言:由于新冠疫情的反复,6月份北京又一次停课,教委宣布2020年秋季学期也要做好线上教学或线下教学的双重准备。长期的在线教学,可以大大提高教师们的信息化水平,当然,前提是教师们必须通过思考进行实践和总结,北京小学的谭老师已经开始这样思考了。

    面对也许要长期进行的“线上+线下”的学习方式,笔者结合线上程序设计的学习,有效整合程序设计的教学内容,采取“跨案例”“填空式”等方式帮助学生开展线上居家学习,更好地掌握程序设计的知识。

    ● 问题发现

    线上居家学习开始阶段,笔者照搬线下授课模式,将录制好的微課推送给学生,学生居家自主学习并上交作品。起初,学生能够按时完成作品并提交,但随着案例学习难度的增加,学生提交作品的数量越来越少,有的学生甚至不再上交。

    线上居家学习期间,部分学生能够按部就班跟着微课学习程序设计,部分学生自主学习中遇到各种问题。居家学习期间,教师不能及时帮助学生解决出现的问题,随着问题的增多、难度的增大,小学生放弃学习程序设计成为大概率的事情。

    ● 解决问题的方案设计

    面对出现的问题,笔者整合教学内容,采取“跨案例”“填空式”的学习方式,即整合校本课程中20个程序设计案例中的共同点,并以20个案例中的共同点作为重点教学内容,重新架构知识体系(跨案例),这部分程序设计脚本内容为空白,学生需自主学习微课,完成编写(填空)。案例中涉及的其他程序设计脚本由教师完成,即学生完成了重点内容程序设计脚本,就完成一个作品。

    下面,以角色移动的程序设计脚本举例说明。笔者把角色移动的程序脚本归类为一级、二级、三级和四级四个等级,逐级增加难度,逐步展开教学。

    1.一级为简单移动——结合情境小动画案例说明

    这个案例涉及角色的移动、造型的切换、背景的切换、广播等命令模块。对于这个程序设计案例,讲解角色移动基本方式(移动步数和边移动边旋转)是推送的微课的重点,学生线上居家自主学习,只需完成这部分的程序设计脚本,就完成了整个案例的编写,就能够测试、运行整个程序。本程序中涉及的其他脚本,教师已经完成。

    实践证明,通过“填空式”信息加工的方式线上学习程序设计,大部分学生能够完整地完成作品。

    2.二级为中等难度的移动——结合猫抓老鼠1.0版、2.0版说明

    这个案例,1.0版本中老鼠的移动只是简单设置为跟随鼠标移动;2.0版本中,老鼠的移动是一秒内滑动到随机位置。教师推送的微课主要讲解老鼠的两种移动方法的设计,学生通过观看微课自主学习。两个程序设计案例中涉及的变量等脚本,教师已经完成,学生只需“填空式”地完成剩下的老鼠移动脚本的编写即可。

    笔者通过“跨案例”“填空式”的学习方式,帮助学生构建认知框架,将复杂的程序设计变得易学、易记,有效提高了学习效率。

    3.三级中高等难度的移动——结合小猫接苹果的案例说明

    本案例中的移动,主要是苹果落下的脚本设计,通过将y坐标增加为负值的脚本来实现。程序设计中这个程序设计还涉及判断程序结构、固定x坐标的移动等命令模块,这些内容不是本节微课关注的内容,因此,教师已经把这些内容脚本设计编写好,学生“填空式”学习,只编写苹果落下的脚本,就完成了一个作品的提交。微课的讲解到这里并没有结束,教师提出苹果落下的脚本学会了,那么下雨的场景怎么编写?雨点有斜度落下的场景怎么编写?通过问题的引领,学生进一步学习角色移动的命令模块。

    4.四级超高难度的移动——结合猫抓老鼠3.0版等案例说明

    这部分角色移动的学习需要结合判断程序结构、侦测的命令模块库等命令模块。3.0版本中老鼠的移动不是跟随鼠标移动,不是滑动一个随机数值,而是在这基础上移动过程中遇到猫,实现掉头跑的移动。这个程序设计用到侦测命令模块库中“到…距离”和运算操作符“<”、乘法运算符“*”、面向等命令模块。这段脚本程序用文字表达为:如果老鼠到猫的距离小于150这个数值,那么就面向现有的方向乘以负一的方向移动。这样就实现了老鼠看见猫掉头跑的程序设计。微课主要讲解这部分的学习,学生自主“填空式”地完成老鼠掉头跑的程序设计脚本,就完成了整个作品。

    线上居家学习,教师将复杂的学习内容降低难度,转化成学生易于理解、易于接受的知识,有利于学生深度学习程序设计并实现创意创作。

    ● “跨案例”“填空式”方式开展程序设计教学的意义

    第一,极大地降低了学习难度,激发了学生学习程序设计的兴趣,拓展了学生的知识视野,提升了学生的学习能力。第二,通过梳理案例间共同点作为知识讲解的重点,化繁为简,学生容易记忆,适合学生线上居家学习。第三,跨案例的学习,让学生在居家的有限时间内接触到较多的完整作品,为学生线下深度学习并创编自己的作品做了很好的铺垫。第四,梳理不同案例中具有类似特点的程序设计脚本,为角色移动的程序设计提供了各种解决问题的方法,为学生提升计算思维能力打开了思路,帮助学生尝试多角度、多维度思考问题、解决问题。

    线上教学背景下有效开展教学活动是教师思考的重要问题,笔者通过“跨案例”“填空式”的方式学习程序设计,为线上居家有效学习提供了一个思路,即重新架构知识体系让学生掌握的知识更加系统,存储更有条理,提取更快捷、准确。

    后记

    笔者在写这篇文章时,脑子里突然蹦出了四个字“人本主义”,对于“人本主义”笔者没有深入探究,但对于在线教育的未来,笔者却很笃定地认为一定要符合“人本主义”,引用我小学老师郭善渡的一句话:“教育还是活人之间的事儿。”我想在未来很多年内,这依然是真理。