佛山市顺德区伦教仕版奋扬学校
摘要 在创客教育热潮下,图形化编程教学正在成为小学生的日常学习内容,这为信息技术课程注入了新鲜血液的同时也带来了新的挑战。拥有较强趣味性和操作性的图形化编程已不再适合用单一的讲练结合的模式进行教学。怎么令学校创客教育的理想“照进现实”,以激发学生的学习热情,促进创新思维,提高创造能力?笔者进行了微课在小学图形化编程教学中的实践与探索,以期抛砖引玉,共同探讨。
关键词 微课 创客教育 图形化编程 教学策略
当今科学技术日新月异,政府提倡大众创业、万众创新,而教育领域也刮起了一阵教育理念与教育实践改革的新思潮。创新能力的培养显然已经成为当代教育的重点,创客教育应运而生。怎么利用好微课令学校创客教育的理想“照进现实”,以激发学生的学习热情,促进创新思维,编程思维的培养与创造能力的提高?
活用教材,主题生活化。
什么是创客教育?国内外的学术界对其表述不一,但都强调“在创造中学习”,都主张以任务为中心,培养学生解决实际问题的能力,倡导通过协作、交流与共享从而深化对知识的意义建构。[1]正因为需要培养学生解决实际问题的能力,所以这也要求教师需要将教材内容与生活实际相结合,将抽象的编程知识与现实需求有机联系。反之,脱离生活实际的主题,就难以激发出学生进行编程学习的内在动机。故而,作为老师在教学设计的时候就要结合生活中具体情境思考主题,以项目学习为载体提高学生的学习兴趣,让他们在发现现实问题解决实际问题的经历下收获成功的喜悦,提升自信心。鼓励学生在实际操作中,学会主动运用编程思维去探究解决问题的方法。例如在学习重复命令和随机数命令的时候,可以创设捡鸡蛋的情境。上课伊始,通过动画引入:周末笑笑去农场帮忙捡鸡蛋。但是淘气的母鸡总是用棒球充当鸡蛋,棒球如果落到篮子里都会砸烂鸡蛋要扣分,而且鸡蛋落到地上也会摔烂也要扣分。所以我们需要在规定的时间内尽可能多地捡到鸡蛋才能加分。通过分析发现完成的关键是鸡蛋、棒球要重复运动,所以需要用到重复命令。捡到鸡蛋要加分,接不到要扣分,所以需要用到变量记录分数……通过将生活化的内容用编程语言一一实现,让学生体验知识来源于生活,服务于生活,甚至改变生活,感受编程的魅力。
示范引领,过程细分化。
在编程课堂上,教师一般不会直接让学生编写程序,往往会通过范例演示、游戏体验或问题引入来吸引学生,然后再进行深入的脚本分析对项目分解细化。所以范例是否设计得当会是学生能否有效学习的必要条件。但有时候那些设计得非常精致的范例似乎到最后没有体现出太大的效果,能够完成项目的学生寥寥可数,这又是为何呢?那些看似精致的范例所涉及的程序相对来说是比较复杂的。无论是对象的数量还是相应的脚本都比一般的程序要多。如果学生只是在教师的简单示范和大致引导下就有可能出现两极分化的现象。对个别自主学习能力较强的学生来说,这可能就是很好的锻炼;但于大多数的普通学生而言,如此高的门槛会让他们无从下手,严重挫伤了他们的积极性。常年累月下来,学生甚至会出现对编程的厌学和恐惧。所以在范例分析后必须将任务或者编程的过程细分拆解。这既降低了学习的难度,也使学生在一次次解决问题的过程中获得满足感的加成。例如小猫逛动物园的动画示范中,可以让学生分析有哪些角色、背景,他们分别有什么动作或功能?需要哪些指令操作?明确小猫在移动,当碰到动物就发送广播指令,而背景在接收到广播指令的时候就切换背景。通过分解,学生清楚每一个角色的脚本后,就可以有序地进行程序的编写。再如在编写画板程序的课程中,引导学生分析其中的脚本角色有笔、颜色块、橡皮。笔的脚本当鼠标按下左键的时候落笔跟随鼠标移动,也就是将笔的X和Y坐标设置成鼠标的坐标。移动鼠标自然就会画出线条。颜色块被点击的时候就更改笔触的颜色。点击橡皮擦就把笔触颜色改成白色,画出线条就可以把之前的遮住相当于擦除。所以在编程课程中应该让学生养成将项目分解细化的习惯。这样就可以把困难由大化小由小化无。
注重思维,流程可视化。
编程教学除了要学生掌握指令的使用外更重要的是要培养学生的编程思想和计算思维。那么如何才能够跳出机械记忆指令的泥潭,真正培养学生的计算思维呢?思维可视化的流程图或者思维导图不就是最好的选择吗?如果能够熟练利用流程图,学生就可以把现实的生活问题和抽象的计算机语言联系起来,找出其中的的内在联系和转化的方法。课堂上教师应该以问题为切入点,有顺序有目的地鼓励学生观察、对比、分析,以此为发掘解决问题的思考流程的基础,让学生逐步能用流程图“画出”自己的思考过程。
生本课堂,探究合作化。
在创客教育活动中,最常见的教学场景就是学生们围绕一个项目进行团队合作,学生之间彼此讨论启发,鼓励知识共享。创客教育并不只是传授知识,更注重培养学生的能力。对于团队的成员来说,不仅要有个人能力,更需要有在不同的位置上各尽所能、与其他成员协调合作的能力。堂课不再是教师的独角戏,而是师生互动、生生互动的多维度的生本课堂。[2]而且在编程的学习中每一个主题如果想要在短短的40分钟课堂中完成对大多数学生来说都是比较困难的。所以在课堂上教师需要有目的地引导学生开展合作探究,小组内各成员之间产生意见分歧,大家互相交流,产生知识的碰撞火花,最终大家达成共识,形成一致的知识体系。例如在制作飞翔的小鸟时,有部分学生可能会发现用←控制小鸟会上下颠倒,怎么解决这个问题?很多同学思考了半节课都没有解决这个问题,后来通过小组讨论轻而易举就解决,只需要把旋转模式改成“左右翻转”。当然合作探究的意义不仅仅是能够高效率地解决问题,还能够培养学生的主动参与意识,团队合作意识和表达能力。因为团队里面每个人的分工都不同,共同分担学习任务,把自己遇到的问题和方法表达出来,换而言之这是需要每个人都建言献策才能解决所有的问题。
精益求精,项目迭代化。
编程与其他学科最大的不同点就是很多的程序都不是简简单单地一次性就能成功的,而是需要经过多次程序的修改调整。也正因为程序的不断修改调试才有机会让学生不断地多维度成长,包括他的情感、知识与技能。学生在一次又一次的斟酌、修改调试中,既巩固了相关的知识和技能,又锻炼了自身的编程能力。程序调试是贯穿整个编程学习中不可或缺的组成部分。学生在编程的时可能大多数都是参考范例机械地照搬积木指令,对程序的使用和流程不一定都理解透彻。那么在调试程序的过程中就必须要理解自己程序中每一个指令的功能,同时逐步了解完整程序设计的所有流程。尤其是当程序出现“BUG”的时候,就有对程序进行纠错的必要性。在修复“BUG”时,需要学生的思考方式与计算机接轨,明白相应指令的运行结果。让学生在自我“捣鼓”中提升纠错能力,培养工程思维,发扬工匠精神这不也是创客的必备素养吗?
编程教学并不见得要拘泥于某一特定的形式或策略,所以我们在教学中制作或者使用微课的时候需要真正地从学生角度出发,结合实际不断地改进课堂教学策略,提高学生的学习兴趣和思考积极性,才能让学生攀登上创与新的高峰。
参考文献:
[1]张伟营.网络课程平台支撑下的高中创客教育实践[J].中小学数字化教学,2018(09):58-60.
[2]潘琴.核心素养下的课堂变革——小组合作探究学习的过程及意义[J].课程教育研究,2018(37):115.