面向儿童的编程思路引导设计

2019-04-23 12:52朱彩兰
中国信息技术教育 2019年8期
关键词:声控流程图指令

朱彩兰

《自相矛盾(二)》《高塔比一比》两个案例都与程序设计有关,虽然具体内容不同(分别为广播、比较数的大小),软件也不同(分别为编程猫、Scratch),但却体现出一些共性,这些共性是根据儿童的认知特征来进行设计的,后文逐一分析。

案例分析

1.《自相矛盾(二)》案例分析

该案例的几个关键点提炼如下。

第一,互动游戏设计。在热身学习环节,先让学生观看微视频了解广播的具体内涵以及使用方法。学生看过广播的功能介绍之后,只是有了初步的认知,未必能真正理解。教师精心设计了小游戏,引导学生在游戏的过程中掌握规则,从而理解广播的功能。游戏中借助不同的暗号设计帮助学生体会或认识:一个角色可以给多个角色发送不同的广播,一个角色可以给不同的角色发送相同的广播,可以给同一个角色发送不同的广播,促进学生更为全面、深入地认识广播。在游戏活动中,参与游戏的学生在接受广播并做出相应的反馈中,获得了直接的经验,根据戴尔的经验之塔,这属于“做的经验”。未参与游戏的学生通过观察游戏活动理解广播,获得的是“观察的经验”。在这些经验基础上,后续环节借助自己编写程序完成广播功能,促进“做的经验”或“观察的经验”向“抽象的经验”转化,实现对广播的真正理解、内化认识。

第二,任务渐进性安排。三个任务逐步放手,学生的探索空间逐渐增多,体现“由扶到放”的过程。在任务一中,教师带领学生完成思路梳理后,让学生在上节课程序的基础上添加“广播”和“围观”的功能,而且指令积木直接提供给学生,学生只需要将指令积木放到合适的位置就行。这种方式,一方面避免了学生寻找积木浪费时间,降低了任务的难度;另一方面,利用半成品,促进学生将精力集中于对发送广播、接受广播模块的理解与相应的操作,突出重点。任务一的操作要求是“先在组长电脑完成书生围观的积木搭建,再回各自电脑完成书生和小女孩围观”,操作安排上先集体完成,再分头独立完成。集体完成时,学生可以互相讨论形成正确的认识,从而降低了难度。有了任务一的铺垫与基础,任务二改变要求,“先在各自电脑完成,组长完成后检查小组完成情况”,即放手让学生独立完成,且是指定的任务。通过组长的检查可以及时发现问题,确保学生真正理解并能在计算机上独立实现。任务三的要求是先在各自电脑完成再进行组内展示,同样是学生独立完成,但任务性质发生了变化,具有一定的开放性,且组内展示时可以相互借鉴。从任务一到任务三,尽管探索程度不同,但整个过程都是学生探索,没有教师的直接告知,借助半成品、小组合作等多种方式促进学生探索的成功。

第三,尊重成语寓意。任务三“天马行空”要求在不改变成语寓意的基础上,“充实故事情节,添加创意”。这一要求与知识与技能无关,更多的是涉及情感态度与价值观。因为创意环节如果只关注好笑、好玩,甚至恶搞,便失去了教育本来的意义。实际上,“课程思政”大环境下,类似素材教学都需要关注此类问题。增加这样有意识的提醒,学生在作品设计中便能加入自己的贴近现实的思考。听课中发现,有一位学生的作品是,书生质疑之后,便与女孩扬长而去,不等待卖家回答,说明根本不相信。也有作品增加了书生的表达,“呵呵”一声,用以表示对卖家的嘲笑。还有的作品最后增加了成语的寓意,并且借助隐藏功能实现了场景的变换。可见,这样有一定限制性的作品,可以引导学生对成语的理解,并利用技术来表达自己的理解,实现技术学习与成语教育的双重目标。

第四,评价多元。评价环节虽然仅有四个问题,但分别涉及编程技能、动画设计、成语故事寓意、小组合作,学生可以选择其中之一来谈本节课的收获,四个维度的提供潜移默化地对学生形成了影响,发挥了评价的引导作用。

2.《高塔比一比》案例分析

该案例的特点主要体现在以下两个方面。

第一,借助动画完成流程图。这一点体现在任务二中,学生不知道如何比较两组数据的大小,教师引导学生借助流程图来梳理编程思路。但学生画流程图显然难度较大,因此教师提供了半成品流程图框架,学生只需补充剩下的三个部分即可。只有三部分空白看似简单,但实际上隐含着对比较结果的处理。如果学生能够根据两座高塔比较的结果准确设定最高塔,说明学生真正理解了思路。因此,此处半成品策略帮助学生将精力集中在理解上,为后续程序实现奠定认识基础。

第二,借助对比促进学生探究。这一点体现在任务三即“师生交流梳理编程思路,明确需要经过两次数据的大小比较,方能得出结果”中。案例中只给出了简单的描述及静态的图示,在实际教学中,这里是借助自定义动画逐步呈现内容,从而循序渐进地引导学生形成认识,这也是本课难点突破的重要环节。第一步,第一、第二座塔比较得到最高塔之后,呈现最高塔与第三座塔的比较再次得到最高塔。这样,通过两个数大小比较与三个数大小比较的对比,帮助学生理解基本思路,明确思路的相似性,促进思路迁移。第二步,呈现第一、第二座塔比较的具体指令模块,帮助学生在思路与实现指令之间建立直观的联系。这里也可以看作是对比,即思路与指令的对比,其目的是建立联系并为第三座塔加入比较奠定指令应用的基础。第三步,呈现第三座塔与已有最高塔比较的指令。这里再次采用了半成品策略,提供了结构框架及部分指令,学生只需要完成一条指令即可。要完成这一步,学生可以根据思路,同时参照第一、第二座塔比较的具体指令模块,因此难度被有效降低。这一步实际上也利用了对比,即第三座塔与已有最高塔比较的思路与具体指令的对比,考查学生将思路转化为程序的能力。此外,还有第一、第二座塔比較的程序与第三座塔与最高塔比较的程序的对比,考查学生的迁移能力。在这两种对比的双重加持之下,难点得以有效突破。整体来看,任务三通过思路对比、思路与程序对比、程序与程序对比有效实现了教学目标。

案例共性解读

尽管两个案例在教学内容上有差异,但两者在许多方面都有共性,例如,教师定位于指导者与引导者充分发挥学生的主体地位,又如,通过拓展促进学生认识加深。此处想要探讨的是,两个案例在编程思路的引导上具有共性。一般来说,编程的基本步骤为分析问题、设计算法、编写程序、运行调试,而设计算法环节往往又会借助流程图来实现。但对于小学生来说,严格按照这种标准流程,多数情况下学生难以理解。因此,两个案例不约而同地采用了一些辅助的方式促进学生对思路的理解。《自相矛盾(二)》是通过梳理成语故事的过程帮助学生了解思路,即用成语故事流程代替程序流程图。在编写程序环节,则是通过给定指令积木的方式凸显重点。《高塔比一比》则是让学生在动画中拖动完成半成品的流程图,虽然使用了流程图,但由于只是补充,所以难度降低。在编写程序环节,则是通过多种方式的对比,促进学生理解并将所学迁移,从而突破难点。两个案例采取策略的选择是尊重小学生认知结构的结果,值得借鉴。

还有更多的小学程序设计案例围绕流程图做了某些变换,以促进学生理解。例如,《足智多谋的小海龟》案例中也采用了流程图,且是学生完成。但教师事先将流程图打印出来并打散成卡片,让学生分组来给卡片排队组成完整的流程图,在此过程中了解算法。显然,学生重新组合流程图比自己来画难度要低许多,也有利于将精力集中在对思路的理解上。

还有些案例是通过其他方式促进学生对编程思路的理解。例如,《机器人方阵——声控机器人》案例中,教师先引导学生了解实现机器人方阵需要经历的环节,即设计意图—流程图—程序编写—演示,然后通过分析声控的工作原理引出流程图,这里的流程图是教师提供的,继而通过流程图与程序的对比,促进学生对思路的把握。值得一提的是,在这个案例中,多次运用到对比,包括流程图与声控灯程序对比、声控灯程序与声控机器人行走程序对比、声控机器人唱歌程序块位置的对比,在对比中促进学生理解、迁移所学。又如,《闻鸡起舞》(青岛富源路小学赵虹)案例中,教学根据分析问题、设计算法、编写程序、运行调试的步骤展开,但在设计算法部分,将任务做了分解,分解到角色、背景等的相关变化,再引导学生逐步完成。采取任务分解的方式也是为了降低难度。

高中的编程教学中有时候也会做些变换,例如,《算法的表达——画程》(南京一中张钰)案例中是借助画程软件实现算法的表达,要求学生在画程中画出流程图。与在纸上画出流程图不同,画程中有相应的要求,需要符合软件及编程规则。符合规则的流程图,可以直接编译,即画程中的流程图,实际上介于我们惯常认识的流程图与程序之间。这样,学生画流程图的过程,既是梳理思路,同时还是完成部分程序的过程。

猜你喜欢
声控流程图指令
云的识别指南
一样,不一样
《单一形状固定循环指令G90车外圆仿真》教案设计
新机研制中总装装配指令策划研究
声控灯为什么可以节能
声控灯为什么可以节能
声控水龙头
流程图学习指南
太空第一人