江苏省常州市香梅小学 葛 军
Scratch图形化编程软件是一款面向青少年的图形化编程工具,近几年逐渐被引入中小学编程教学中。
由于图形化的界面具有方便操作等特点,图形化编程深受广大师生的欢迎。教师首先将Scratch图形化编程课程以社团形式在校内展开,全国多地也将Scratch图形化编程课程作为信息技术课程的必修模块加入小学高年段和初中学段。借助Scratch图形化编程,青少年编程教育在全国大部分地区得到推广。常州市较早地开展了Scratch编程教育的普及研究工作,一线教师在教学过程中积累了一定的经验,也为在图形化编程课程中学生计算思维的落地打下了一定的基础。
教育部在2022年发布了最新的信息科技课程标准,中小学原来的信息技术课程从综合实践课程中独立出来,成为一门国家课程,并且改名叫“信息科技”课程。“信息科技”课程要培养的核心素养主要包括信息意识、计算思维、数字化学习与创新、信息社会责任。那么何为计算思维呢?信息科技课程标准是这样解读的:它是指个体运用计算机科学领域的思想方法,在问题解决过程中涉及的抽象、分解、建模、算法设计等思维活动。从现有研究来看,计算思维主要有三种来源:(1)计算思维操作性定义中包含的计算思维过程阶段要素、核心概念和能力;(2)抽象;(3)其他教育内容。信息科技课程标准中对于计算思维的概念界定,主要是针对第一种来源情况。计算思维并不等同于大家比较熟悉的算法,算法只是计算思维中的一项。而计算思维作为信息科技学科的核心素养,被写入课程标准之中,这值得一线教师反思:在教学过程中,我们有没有将计算思维这一核心素养落实到图形化编程教育中去呢?我们只有在教学实践中将计算思维这一核心素养落地,才能真正提升学生的综合素质,培养具有创新意识的一代新人。结合信息科技新课标,笔者认为需要从以下几个环节入手,可以在图形化编程中落实计算思维。
根据国外编程教育的研究发现,图形化编程较之文本编程方式,能在很大程度上降低学生编程的难度,学生不用花过多的时间在语法拼写上,而能够专注于编写程序本身。图形化编程,让学生可以直观地看到舞台场景、作品角色、编写程序用的模块脚本。但是对于学生来说,还存在一个从直观形象到抽象逻辑转换的过程,而计算思维的核心其实就是抽象。如果学生无法用自己熟悉的方式描述解决问题的过程,那学生就无法通过编写程序的方式来解决问题。
因此,在讲授图形化编程课程时,在任务情境的驱动下,笔者和学生一起做的第一件事就是用自己熟悉的方式描述问题解决的过程。学生可以用自己熟悉的自然语言、流程图、流程表等方式描述解决问题的过程。教师作为任务的指导者,要帮助学生梳理这个流程是否清晰、有无错误,在学生能够清晰地表述解决问题的过程之后,学生就能相对容易地用程序模块来描述处理问题的过程,从而较容易地实现从具体形象向抽象逻辑过渡。以“自我介绍作品”为例,这是学生初识Scratch的第一课,在教学过程中,教师不要首先就教学生如何来编写程序,而是要让学生用自然语言的方式,描述进行自我介绍的一个过程。有一个学生想按照“我想先走两步→说‘大家好’→翻一个跟头→说‘谢谢大家’”的程序进行自我介绍。在这个过程中,学生能够清晰地描述介绍的步骤,但是学生还需要将这些熟悉的自然语言用程序块的方式来进行连接,才能完成程序的编写,但是因为学生已经能够用自然语言清晰地描述,在实际程序的编写过程中,这个认知负荷相较之前就明显降低了,学生只需要学会程序编写的一个基本流程,就能顺利完成程序的编写。
在信息科技新课标的学习中,课程专家明确指出,我们的任务设计要贴合学生实际,根据本校的校情、学情来设计适合本校、本班学生的任务。因此,在任务设计的过程中,笔者总是结合当下学习生活的热点来进行任务的设计。如教学苏教版信息科技五年级“青蛙过河”一课时,这节课主要是学习用坐标的方式实现角色的移动。坐标对于学生来说是一个难点,要突破这个难点,就应该变教师讲授为学生主动探究。因此,在“认识坐标”这个环节,笔者设计了一个“吃糖”的小游戏,学生在控制角色吃糖的过程中,发现坐标变化的规律,认识到可以用坐标的方式来表示角色在舞台中的位置。为了激发学生学习的热情,在教学中,笔者结合热播电影《勇攀珠峰》,让学生制作一个动画作品,献给我们的登山英雄。在提高学生兴趣的同时,教师也借此课对学生进行了爱国主义教育,让学生明确了勇攀珠峰的重要意义。
多元智能理论告诉我们,不同学生的多元智能所擅长的方面是不同的,如果要求整齐划一,所有学生达到统一的高度,是不科学的。如何让这些能力不同的学生在图形化编程学习过程中,计算思维能力都能有所提升呢?笔者在教学过程中构建了基于PBL项目学习的任务群,取得了较好的效果。PBL即项目式学习,也称为基于问题的学习。在学生掌握了图形化编程软件的基础后,教师可以通过构建基于PBL项目学习的任务群,以任务群的方式,促进不同学生在完成基于自身兴趣的任务的过程中,提升其计算思维等核心素养。任务群的创建遵循能力互补、兴趣互补的原则。在创建任务群之初,教师会以发放问卷的形式了解不同学生的兴趣爱好、能力特长,然后进行合理地编排。在任务群中,有的学生擅长画画,有的学生擅长数学,有的学生擅长演讲……发布的任务往往是开放的,如结合寻访“常州文脉”,制作一个动画故事;用鼠标控制,制作一个躲避的小游戏;等等。教师只是给出一个任务的基本方向,具体要做一个怎样的作品、需要做哪些准备工作,由任务群学生共同商讨后确定,教师给予必要的指导和帮助。通过任务群的方式,学生创作的热情得到了进一步的提升。在完成项目的过程中,学生会用到计算思维的多种方法,学生核心素养在完成项目的过程中也进一步得到了提升。
基于客户端的图形化编程软件Scratch 3.0在大班化教学过程中,教师的评价和反馈往往是碎片化的,无法对每个学生作品中的问题进行评价和反馈,因此,出现了很多在线版图形编程软件,其中有一些是收费的,有一些是免费的。在一线教学过程中,笔者选择了免费且易用的卡搭在线编程平台。基于这个平台,教师可以为每个学生创建账号,基于班级创建任务和活动。在实际教学过程中,我们利用客户端进行教学,利用卡搭在线编程平台上传作业,这样教师就可以对每个学生的作品进行评价及问题的反馈,指出学生在程序编写过程中流程不清晰、流程错误等计算思维过程中所表现出来的错误。以小小计算器为例,学生要制作一款个性化的出题小软件,整个过程包括“界面制作—计算机出题—用户答题—评价反馈”,但是在实际批改的过程中,我们发现,学生处理问题的逻辑却是“用户答题—计算机出题”,从而出现了一些逻辑性错误。借助平台,学生可以根据教师的评价及反馈及时修改程序编写过程中的错误或者进一步完善自己的作品。通过每一次的及时评价及反馈,相较于纯客户端的教学,学生对于程序编写本身以及利用计算思维抽象处理问题的能力得到了明显的提升。
基于卡搭在线平台进行的评价和反馈主要依靠教师本人的经验对学生进行评价和反馈,那么有没有智能化的评测工具,可以通过数据的形式来智能评测学生计算思维相关能力的变化呢?通过查阅资料,笔者了解到有一个在线评测工具Dr.Scratch,它可以通过在线提交网址或上传本地文件的方式,从以下七个方面推断出作者的计算思维能力并给出评分。这七个方面分别是流程控制、数据表示、抽象、用户交互、同步、并行、逻辑思维。
首次使用Dr.Scratch需要先进行账号注册。在实际评测过程中,建议通过本地上传的方式进行测试,作品上传后,测评工具将给计算思维七个维度分别进行打分。对于比较简单的作品,平台会认为作者是个初学者,因此仅会给出一个基本的评价。对于较复杂的作品,评测工具将给出更为详细的诊断意见。通过分析程序,对于这个作品中所呈现的非常熟练的部分用绿色表示,对于作品中所呈现较少的能力点,则用红色表示。它还会列出作者在程序编写过程中的一些坏习惯。通过这些提示信息,也可以指导教师更加规范地进行任务项目的再设计。
以上几点做法是基于本校实际情况,探索如何将计算思维这一核心素养落实到图形化编程教育中。我们将继续加强自身学习,以期为培养具有创新意识的新一代学生而努力。