黄伟祥
【摘 要】随着人工智能时代的来临,信息技术课程的价值突显,其中计算思维的培养成为重点。本文以“模拟无接触配送餐”为例,遵循小学生的认知规律,分析了在教学中如何让学生用信息意识观察世界,用计算思维思考世界,用编程语言表达世界,以促进学生计算思维的发展。
【关键词】可视化;编程教育;思维;信息素养;计算思维
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2021)06-056-04
近年来,由于可视化编程让学生告别枯燥的代码编写,让程序过程随时可视化,深受学生的喜爱。计算思维是信息技术学科核心素养之一,它是与孩子们拥有的读、写、算同等重要的认知能力,决定着对信息技术学科的认知高度,能让学生“像计算机科学家一样思考”,要渗透到学习的全过程。
学会用信息意识观察世界,学会用计算思维思考世界,学会用编程语言表达世界,这是学生计算思维发展的三个阶段。本文从小学生年龄特征和认知规律出发,结合教学案例“模拟无接触配送餐”,明晰如何培养计算思维意识;怎样用计算思维的方法思考问题的解决方案;如何落实方案解决实际问题等等,为一线教师教学实践提供借鉴。
会用信息意识观察世界
计算思维的理解是基于情境的,又是超越情境的。情境是思维的脚手架和介质,让计算思维从外在走向内里,从感性情境走向思维情境,最终脱离非本质属性的情境,从现实生活的此岸到达语言代码的彼岸,实现“生活化”的抽象生产和理性建构。
1.情境创设,促进计算思维的理解
情境是联结现实生活与虚拟环境的桥梁,容易让学生产生心灵共鸣,从而调动学习的欲望与兴趣,有利于建立信息技术与生活之间的联系,促进计算思维的理解,提升问题解决能力。
如在“模拟无接触配送餐”一课教学中,笔者用视频重现如下的情况:在疫情期间,为了加强疫情防控,各城市很多小区都实行了封闭式管理。但只有物资通畅了,生活才能继续,社会才能盡可能正常运转,为抗疫提供源源不断的支撑,抗疫才能更高效地进行。为了防止人群接触,外卖、快递平台也采取了“无接触配送模式”,这样既保证人们生活正常进行,也杜绝疫情人与人的传播。学生可以基于情景,提出实现“无接触配送”的策略,这不仅能够让学生从枯燥的技能学习、难懂的算法中解脱,并且能让学生在头脑风暴中进一步猜想、验证、合作。
2.序化模式,从情境导向到问题导向
问题意识是思维的动力,是创新精神的基石,是探究问题、解决问题的前提。教师给学生营造提出问题的情境,学生通过讨论,从问题情境抽象出问题的本质,把一个实际问题变为计算机可以处理的问题,这是算法与程序设计的切入点。
在教学中,学生通过“模拟无接触配送餐”情境提出了序列化的问题。如:
在无接触配送的订单中,出现了几个角色?
在各时间段中,各个角色发生了什么变化?
各个角色的变化有何异同?如何体现?
各个角色间如何联系?用什么指令实现?
这些问题的提出虽然是分散、无序的,但通过师生共同整理,问题主要集中在角色内在联系和技术实现方面,通过归类整理,问题从无序走向有序集约化的发展。让学生初步学会从计算思维的角度提出问题、理解问题,并能综合运用所学的知识和技能解决问题。
会用计算思维思考世界
计算思维的习得表现为学生能够采用计算机处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决。
1.计算思维简约化,理清事件的关系
简约化是运用计算思维解决复杂问题的第一步。特别是对于小学生来说,他们普遍存在注意力不集中、兴趣点转移快、知识积累不够等特点,当他们面对复杂的问题及算法时,学生不知从何而起学习。基于此认识,首先,让学生对设计项目有一个整体的理解;然后,通过画图进行简约化的表达;最后,采取“大项目,小任务”,用块语言来实现。这样更有利于小学计算思维渐进式的发展,培养学生用计算思维去分解问题,从而解决实际问题。
在日常生活中,由于大多数学生有叫外卖的体验,所以对概念的理解比较容易。笔者在“模拟无接触配送餐”教学中,让学生通过画图的方式理清事件的前后逻辑关系,学会用计算思维来思索问题。
第一步:配送流程,个性化表达
学生根据已有的生活经验,对配送流程进行画图,大部分学生表示为:顾客下单→商家接单→骑手送餐。学生对配送的基本流程描述不够精准、精细化不足,有待细化。
学生画图是探究学习的起点和过程,他们对问题的认知由此达彼,思考由浅入深,把动作表征与符号表征、形象思维与抽象思维、现实生活与计算思维联结在一起,以方便学生理解、分析和把握,展现计算思维的路径与结果。
第二步:任务细分,理顺行为序列
这一环节旨在让学生用计算思维把大项目进行精细化分解,把大任务分解成若干个小任务。从课堂观察可知,大部分学生都可以对任务进行顺利分解,但容易出现不同程度顺序的混乱,学生的序列化意识不强。如:学生不理解商家动作与骑手动作为什么能同时进行;把商家接单与厨师烹饪备餐顺序倒过来等等。
针对这些问题,教师找学生进行情境模拟活动,并让学生将这些动作一一记录下来,对照相应模块寻找是否有相应的执行指令。如果没有,进一步考虑细化动作,直至有指令实现动作为止,培养学生利用计算思维去分解问题的能力。
教师还特地要求学生按照打乱后的顺序去配送,让他们意识到有些任务的顺序是不可逆的,固化学生信息流程的意识。与此同时,师生还共同完成贴标签游戏,让学生从活动中对照自己的分解方案,评判自己的任务有何不同,是否可以有不同的分解方法,以培养学生的发散性思维和批判性思维。
2.算法思维可视化,对接编程语言
虽然学生理清了行动流程,但将一个综合性制作任务直接抛给学生,学生肯定不知所措,因此,借助自己的语言描述角色的行为,把大任务分解成一个个小任务来解决,并把编程工具动作模块指令与任务一一对应起来,实现行为动作与编程语言的对接,并用思维导图的方式进行记录。
把自然语言与动作模块进行相对应的教学,学生进行了第二次抽象,使角色行为更形象表达,把问题逐一解决突破,大大降低学生自主编程难度,使计算思维形成过程有据可循、有序思考。
3.完善流程图,计算思维抽象化
通过前面的教学,学生对任务分解、角色关联及行为与指令的对应关系均有比较深刻的理解。发送广播及接收广播是这节课的教学重点。在本节课里,涉及两次广播的使用,首先,教师引导学生解决;然后,让学生进行举一反三的学习。学生通过描述谁发送广播,谁来接收广播,让他们明白为什么商家和骑手同时接收由顾客发送的广播“1”,厘清信息广播与接送的内在关系。在学生解决难点后,教师顺势出示流程图,并且让学生填写对应的脚本(图1)。从流程图再到脚本图的正向引导,是对程序设计的整体有序梳理,这样再次培养学生思维的整体性与有序性。
会用编程语言表达世界
表达世界对于每一个学科都有不同的方式。以上流程图的功能描述,需要通过计算机编程工具来实现,利用编程语言有条理地表达解决问题的思路、过程和方法,是计算思维的外在表现形式。本案例需要表达的具体内容有:顾客点餐、下单,商家接单、烹饪,骑手接单送餐、到商家取餐、送餐到指定地点。用编程语言反映三种角色的关系,实现三种角色行为,全程做到无接触送餐。
1.编写脚本,反向理解意图
利用编程工具解决问题的方式具有多样性和开放性。同一任务,有不同的计算思维,脚本编写也是不同的。对于计算思维的培养,教师应该鼓励学生多种渠道解决问题,培养学生求异思维,促进计算思维的再生长。
学生完成脚本编写后,教师引导学生描述出自己脚本的功能,这是从脚本到功能描述的反向理解(图2),也是对程序设计整体的再次梳理,是计算思维培养的再升华。通过正反两次的思维梳理,强化了学生对流程步骤和算法的理解,突破了教学重点、难点。
2.脚本调整,培育评估思维
找错、纠错、修正是脚本调试的过程与基本步骤。当学生运行脚本时,出现运行结果与预设结果不一样时,就需要进行有目的、有针对性的调试。但从课堂教学观察中发现,当脚本运行出现问题时,学生很难找出个中原因,无从下手。教师可设计出调试单,从错误现象、错误原因、解决方法、处理成效四个维度帮助学生自纠错误。
调试单是学习的支架,是解决问题的有效载体。它可以帮助学生列出脚本运行的错误,并追根溯源地找到脚本错误之处,帮助学生进行有目的地纠错。通过找问题、析成因、明方法培育了学生有序评估的思维,形成良好的思维习惯。
3.作品展评,训练概况思维
作品展评包括了作品交流展示与评价两个环节。学生不但要展示自己的作品,还要对制作作品过程进行说明,如整体构思、遇到问题、问题成因、解决问题的思路及方法等。学生在分享作品时,再三强调,顾客发送广播“1”是由商家与骑手同时接收,角色有各自的行动。而骑手收到的广播“1”和“2”分别是由顾客与商家发出的。因为有指令才行动,明晰了角色行动的前后关系。学生对作品设计进行梳理、总结、提炼、反思,这是计算思维概括的过程。
评价是计算思维实施的关键,教师一般使用作品展示评价法,使用该种方法评价,量表的制作尤为重要。如“模拟无接触配送餐”评价标准中,笔者从学生作品的思想理念、设计创意、程序设计、逻辑表达、作品艺术五个指标进行定制,要求作品主题明确,内容健康;构思新颖,独特创意;运行流畅,逻辑缜密;富有艺术性。
思维是学习的核心,是理性的力量。计算思维可以梳理解决问题的框架,分解思维实现对解决问题的剖析,抽象思维是深度学习的精髓。我们只有坚守“为思维而教”的理念,对其深度了解,丰富其内涵,才能促进学生思维真实地、自然地发展。
注:本文系广东省教育科学“十三五”规划课题“‘五度六环人工智能教育启蒙課程的构建与实施”(课题编号:2020YQ JK234)基金项目成果