APP下载

重构的课程,别样的精彩

2020-03-26陆智弘

中国信息技术教育 2020年6期
关键词:流程图编程正方形

陆智弘

《画正多边形》是江苏省省编小学信息技术教材5年级第5课的内容,主要讲解的是画笔工具中一些常用编程模块的运用,课堂用时1课时。而《走正多边形》则是我们梁溪区区本创客教材中第4课的内容,它是我们在省编教材的基础上,结合机器人教学重构而成的一节新课内容,课堂用时2课时。新课由软件编程和硬件拓展两部分组成。作为梁溪区的一线信息技术教师和教材核心编写组成员,我有幸第一时间对区本创客教材进行了教学尝试,下面我就来细说一下课程重构后的一些体会。

● 软件编程块面的整合重构

1.有着相似的教学内容但又有着独到的教学思考

《画正多边形》一课,以前我是这样教的:在简单地介绍画笔工具以后,就让学生先自学课本P22,看明白后,合上书本,按照自己的理解去还原程序。我认为这样可以考查学生对程序的理解能力,理解得越深刻,还原得越成功。结果,学生在执行程序的过程中出现了各种状况:有的画了没用痕迹留下;有的感觉画得太粗,想重新画,可是前面的图形一直保留着……我巡视了一遍,发现问题主要出在程序初始化的部分。

初始化就是把变量赋为默认值,把控件设为默认状态,把没准备的准备好。我觉得应用于Scratch课堂教学中,就是在程序执行的一开始,把程序任务所涉及的所有相关模块都先定义一下。我们可以把这个过程看成是造房子先要打地基,“地基”扎实了,后面的“房子”才能建得稳固。(图1为书上针对正方形画法给出的一个参考程序,图2为这段程序的初始化部分)

课后,我静下心来反思总结,越发觉得程序初始化对于编写一段程序的重要性。

程序初始化,是“一步不到,一步不了”的大事。没有哪一句话是多余的,它们都有其存在的价值。设定了多边形画在舞台的哪个位置。是为了让小猫在移动的过程中留下移动的痕迹,从而得到我们所要的图形。

设定了画

笔的颜色。设定了画笔的粗细。

程序初始化,有时候并不能一步到位,需要在之后写程序、调试程序的时候,发现问题再不断地回过来补充。比如这个指令,很多学生一开始并不明白初始化时为什么要清空,其实程序第一次执行的时候,这个“清空”指令并没有什么用,它主要用于程序执行过后,再次执行,先把前一次执行的痕迹全部擦除,当学生尝试执行程序过后,自然就明白了。所以我发现直接让学生去看书自学程序的初始化部分,是一个很大错误,有些程序模块,不自己去亲身体验是不能明白它的用意的。

那么我们在上编程课的时候,该如何开展教学,让学生思考得更全面一些,学会把程序初始化写得更完整呢?通过教学反思,不断调整教学方式,我发现让学生学会写流程、画流程图是一种很不错的方式。

于是,我试着把《画正多边形》这节课的上课方式改为:准备纸和水彩笔,在纸上画一个正方形,边画边想边写,把你是怎么把这个正方形画出来的过程,哪怕是其中芝麻绿豆大的“小选择”也一个不落地像“流水账”一样写下来。这个“流水账”其实就是一个很简单的“流程”。(由于刚接触编程,直接画流程图不合适,我就让学生写流程)“流水账”本是写作文时不可取的一种写法,没有侧重,没有概括,但是它却恰恰很好地把画图时的每一个小过程都记录了下来。例如,“我选一支蓝色的水彩笔”,“我用水彩笔细的那一头来画正方形”……写完之后,我再让大家集思广益,补充概括,得到了这样一个初步的流程:①确定位置(落笔位置);②选择颜色;③确定粗细;④画正方形。“落笔”步骤可以等学生执行程序后,发现没有痕迹留下来,再引出,有了“落笔”绘画,自然就要“抬笔”来结束绘画。而“清空”步骤可以等学生执行程序,发现之前画的正方形依然还在,再引出,进而把程序不断地完善补全。

让学生逐步学会写流程,进而学着画流程图,使学生切实理解每一步设定的用意,这样才能培养出学生缜密的程序思维。

正因为如此,新课程在编写之初,我们就有意识地把程序流程图的知识穿插进了每一个章节之中。我认为,编程就是为了达到某种效果,把脑海中随之产生的一系列思维逻辑推理通过程序展现出来的过程。而程序流程图是人们对解决问题的方法、思路或算法的一种描述,这种图能够将问题分解,形象直观,各种操作一目了然,便于学生理解较难的程序过程,理清程序中的各个逻辑关系。程序流程图需要使用特定的图形符号与说明,《走正多边形》仅为新课程的第四课,为了给学生一个学习流程图的台阶,我们先引入的是写流程的概念,如图3所示。

对应积木模块来写出每一步是在做什么,这就是写流程。这样做,一来可以讓学生去思考每一步这样编写的用意,二来为接下来画流程图做准备——如何用词用句来准确表达步骤。在之后的学习中,我们会逐步把写流程(画流程图)的过程提到编写程序之前。我们希望通过程序流程图的学习,能够让学生在搭建积木脚本之前,理清任务思路与逻辑关系,从而使编程变得更为高效。

2.教学知识点安排更合理

省编教材中共列举了三种正多边形的画法——正五边形、正方形、正三角形,其中多次用到了重复执行多少次这个编程模块。这个模块在省编教材第4课《青蛙过河》的最后部分有所提及,但是我觉得这个知识点和“青蛙过河”结合得略有牵强——让“青蛙”旋转360度真有必要吗?而且不加入等待的重复执行10次,那就是一瞬间的事,根本看不出旋转的过程。

新课程中,把重复执行多少次的模块放到《走正多边形》中来教学。重复执行模块的使用,应该是为了让程序看起来更为精简且清晰明了。通过观察分析,再引入重复执行的知识点,可以让学生更清楚地明白“为什么用”和“怎么用”的问题。

● 编程教学中融入机器人元素,硬件拓展助力“创客教育”

Scratch的出现,降低了学生学习编程的门槛,积木模块式的结构,让小学生也有了在“简单”编程领域大显身手的机会。它很有趣,学生也很乐于接受,但是受限于平台,我们的编程教育依然停留在“虚拟世界”中。

我们一直在思考如何更好地调动学生学习编程的积极性,这需要我们找到学生学习的兴奋点。机器人教学的加入,很好地解决了这样一个问题。机器人融合了机械制造、电子技术、传感器、无线通讯、声像识别和人工智能等领域的先进技术,它本身就代表着现代高新技术发展的前沿。把机器人教学加入进来,和我们的编程教学相结合,让小学生也能做到通过编写程序来控制机器人,这本身就是一件能让学生觉得很有成就感的“趣事”。它的加入彻底把编程教学从“虚拟世界”带到了学生的身边。同时,它的加入,也很好地契合了我们现下十分火热的“创客教育”的理念。

创客是一种动手操作、探究体验式的学习方式。杜威“学校即社会、教育即生活”教育思想中的“做中学”,是创客背后的核心理念,创造即学习。一件作品的创造,往往需要跨越多个学科,综合应用多种知识和技能,不断探究、体验、实验和检验。把软件编程与机器人教学相结合,在原本单一的编程教学中,加入简单的机械结构、工程力学原理、常见传感器的运用等多方面的知识,可以更好地培养学生的创造思维、探索精神、动手能力和综合实践运用的能力。

为了更好地和Scratch教学相结合,我们的新课程选用了mBot机器人。mBot机器人小车作为童心制物的一款入门级STEAM教育机器人,它的编程界面完全基于Scratch软件来进行开发,用它来拓展教学,学生不必额外学习新的编程软件,一款mBlock软件就能满足学生软件编程+硬件拓展的需求。

教学知识点的承接与不同:想要让mBot机器人“走”出正方形来,承接自《画正多边形》的编程思维,貌似只要把转换成机器人模块中的就可以,但实际上还是有所差别的——前者阐述的是“移动多少”,直接就代表了“路程”,而后者仅仅只是说明了“怎么动”,它表示的是速度,还需要用来做时间控制。两者结合起来才能做到让mBot行进一段路程后再转弯。

同样的,软件编程中简单的,也需要mBot通过配合来完成,而如何能让小车转动角度刚好接近90度,这就需要学生通过反复的调试,针对不同的地面与轮胎的摩擦力,修改等待的时间来调整了。这也成了《走正多边形》一课中,每位学生需要解决的难题。

● 重构的课堂,反映出的些许不足

课程重构的成功与否,学生最有发言权。“加入机器人教学后,两节课连上感觉有趣吗?”我曾经这样问学生。大部分学生都觉得这样的课上起来更有意思了。当我问及为什么时,有一个学生的回答令我印象非常深刻,他告诉我:“Scratch编程是好玩,但那是电脑上面的,依旧还是虚拟的,不现实啊。当我发现它还能控制机器人动起来后,我觉得它更有意思啦。”

确实,上完新课程后,我明显感觉到学生的学习热情比以前更高涨了,mBot成功“走”出正方形后,成就感爆棚,讨论声、呐喊声在教室里此起彼伏。当然,我也发现了一些“小遗憾”“小欠缺”:①學生的动手能力欠缺。mBot机器人全身都是金属件,学生拿螺丝刀拧螺丝都拧不紧,有些部件用了没多久就松松垮垮掉下来。②mBot的左右电机本身存在细微的转速差异,导致本该笔直往前行进,部分车子却轻微地跑出了“弧线”,这个可以通过分开设置左右电机转速

来解决。③哪怕两节课连上,教学内容还是比较多,课堂时间很紧,教师可以根据实际的课堂教学情况来控制每个知识点的教学时间。

课程建设存在着四个阶段:模仿—创新—融合—应用。我们参考了省编教材,加入了我们的创新内容(流程图教学以及mBot机器人硬件拓展),把它们融合在一起,创编了属于我们梁溪区的区本创客教材。接下来我们还需要根据一次又一次的课堂教学反馈,来继续修订、磨合教材。期待我们的新课程,随着时间的慢慢推移,会更加完善、更加成熟,获得广大师生的喜爱。

猜你喜欢

流程图编程正方形
云的识别指南
重构正方形
超级变变变
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
移火柴
流程图学习指南