利用流程图促进学生计算思维发展的研究
2021-12-24王晴燕陆志海
王晴燕 陆志海
计算思维作为以识别问题、统筹考量问题、寻找最佳途径最终解决问题为导向的思维,被列为信息技术学科的核心素养之一。已有计算思维研究主要集中在计算思维概念的阐述与内涵分析、编程教学中计算思维培养的必要性和可行性阐述、中小学编程教学中计算思维的培养策略上,而针对使用某一种具体的策略或方法作为自变量来检验计算思维的发展,以及如何发展的研究鲜有涉及。因此,笔者结合自身教学实践,在已有研究基础上,尝试利用培养计算思维发展的策略之一——流程圖法来探明小学信息技术算法与程序设计单元教学中计算思维是否在这一策略的应用中真正得到发展,以及它的发展规律。
● 研究背景
1.关于流程图
流程图,也叫框图,是由图形、线条和简单说明文字组成的,用以描述算法的一种图形。为了方便交流与应用,一般采用一些常用的流程图符号表示特定的意义,如圆角矩形是程序的起止框;矩形是处理框,菱形框是判断框;平行四边形是输入输出框。用流程图表示算法,可以将程序执行的步骤和各步骤间的逻辑关系清晰且直观地展现在编程者面前,方便编程。
小学阶段的程序设计教学是学生第一次接触计算机编程,即便流程图已经足够简便,但对第一次接触计算机编程类学习的小学生来说,还是显得偏向规范类、说明类,容易使学生兴趣丢失。因此,笔者对标准化的流程图进行了简化,即通用一种圆角矩形代指所有特定意义,短线箭头标示程序走向。
2.计算思维的评价
计算思维是否得到发展,归根结底需要有一个评价体系来进行判断。近年来,虽然针对计算思维的评价并没有完全统一的标准,但国内外学者和一线教育工作者也都在致力于不断完善计算思维的评价体系,创建评价工具。评价依据有相对统一的出发点,即周以真教授对计算思维的定义表述,据此,国外学者Alexander Repenning注重就计算思维与解决问题的密切联系,将计算思维渗透到三个问题解决的发展过程中,这三个问题分别是最初遇到问题时的问题描述、问题解决方案的表达、解决方案的实施与评估。有研究者进一步细化以上三个一级评价指标,融入问题解决步骤中的九大核心要素,将问题的描述分为数据收集、数据分析和数据表达;问题解决方案的表达细分为问题的分解,问题抽象、算法与程序、自动化;解决方案的实施与评估则分为仿真和并行化两个二级指标,同时,该研究者依据这些评价指标,设计了计算思维培养效果调查问卷。在本研究中,笔者借鉴前人研究成果,并根据本研究中学习者的特点和使用的流程图策略,针对性修改该份效果调查问卷,然后用来对计算思维进行量化测评。
3.教学实践
笔者所在学校每个年级有八个平行班,学生们在五年级开始接触编程类课程,经过一学年的沉淀和比较后,笔者选择了六年级的两个平行班级为本研究的实验对象,其中一个班级使用流程图策略进行教学,成为实验班,另一个班级不使用流程图策略,成为对照班。这两个班级总人数均为37人,其中实验班女生18人,男生19人,对照班女生15人,男生22人,两个班级的男女性别比例基本均衡,学生的计算机基础能力相差不多,有一定的基础操作知识,会简单的编程。
在研究实验中,就相同的教学主题“砸金蛋”设计4课时,持续一个月,对两个班级分别实施不同的教学策略,即实验班在第一课时便明确使用流程图,对照班不使用流程图进行教学。经过一个主题单元教学之后,对两班学生进行问卷调查,每班发放37份问卷,有效回收率100%,将问卷问题进行分类、赋分、编码,利用Excel分析数据。
● 研究结果与分析
总结计算思维的权威定义和内涵解读可知,计算思维不是只属于某一部分人的思维能力,而是每个人都需要拥有的求解问题的基本思维能力。本研究提取问题求解中的关键节点,即发现问题时的问题描述—给出问题解决的方案—执行并评估方案,再从这三个历程中具化出计算思维的九个核心要素,每个要素对应一条陈述编制到问卷中。参照李克特量表的赋分方法,每条陈述分别有“非常同意”记5分、“基本同意”记4分、“不确定”记3分、“基本不同意”记2分、“非常不同意”记1分五种回答。学生通过问卷反馈答案,笔者统计分数并试图透过分数解读计算思维能力在两个班级中反映出的走向变化。
1.问题描述阶段:流程图帮助梳理信息,明确问题
在以问题的彻底处理和解决为导向的一系列活动中,首先经历的便是描述这个问题,即明确遇到的是什么问题,是否能够应用已有知识进行解决,清楚“已知条件”,排除干扰,明晰需求解的“未知项”,对应计算思维的数据收集、数据分析和数据表示三个要素。由图1可知,经过实验对比,实验班学生的数据收集能力、数据分析能力和数据表示能力都得到一定程度的提升,特别是数据表示能力提升了将近20%,其对应的题目为“我总能把语言描述的步骤转化成流程图”,这也真实反映出本研究中采用的流程图策略取得了实效。
2.解决方案表达阶段:流程图促成逐步分解,归纳总结方案
在问题描述清晰后,求解问题需要面临的便是拿出解决方案,回应的是“你准备怎么做”这样的疑虑,这一阶段渗透的计算思维核心要素包括问题分解、抽象、算法与程序、自动化。通过实验数据可知,每一个计算思维的核心要素都有不同程度的提升,特别是问题分解能力,经过流程图思想的贯彻,学生在解决问题时,会先将大的问题分解成一个个小的问题。例如,学生会将“砸金蛋”这个大的问题,逐步分解成设置背景、添加角色、编写脚本,又将设置背景细化为两个背景——一个是游戏欢迎界面,另一个是游戏进行中的背景,依次分解,直至问题解决。在抽象思维层面,实验班比对照班能更快地将程序中的流程图在脑海中转化为相对应的脚本语句,如金蛋被砸碎,抽象成“将造型切换为‘破碎’”。而算法与程序这一核心要素,主要指能够归纳总结方式方法,并最终形成问题解决方法的能力。笔者在所简化设计的流程图中,将整个程序中所涉及的背景和每个角色列为对象,从背景到角色依次排开,一个对象一条流程,这样的方式有利于学生对比不同流程中的相同脚本,从而总结出解决某个问题所要使用的脚本,使算法与程序能力得到锻炼与提升。另外,由于流程图将思维可视化、留痕化,学生每走一步都不自觉地想要对照流程图看有没有实现效果,边写程序边测试效果,重复验证脚本,最终促使自动化能力的提升。
3.方案的执行与评估:模型化解决方法,多任务执行方案
问题解决最终走向方案的执行和评估,而这一层面所涉及的计算思维核心要素包括仿真与并行化两方面。其中,仿真可通俗地理解为能够效仿范例,并能够在理解的基础上有所创新;并行化即学习者能像计算机一样可同时处理多项任务。由图2可以看出,在仿真方面,学生没有表现出明显的差异,也就是说流程图策略基本不会影响到学生是否会“在掌握老师给定的程序示例的基础上,建构模型,利用自己的知识体系再修改发挥”。另外,流程图策略对并行化层面的影响明显更大,实验班比对照班的并行化能力提升了近31%,这同样要归功于流程图的可视化和留痕化,流程图清晰地将待处理的任务展示在学习者面前,并且各个任务和知识之间并不是孤立的、分散的,而是通过流程图相互联系起来。例如,在《砸金蛋》单元的学习中,程序开始时金蛋和锤子以及奖品是隐藏的,到切换游戏状态时才会显示,在流程图的提醒下,学生能够将这三个角色的隐藏与显示并行化处理,而不是孤立地做完金蛋的脚本,再去做锤子或奖品的脚本。
● 结语
在本研究中,笔者依托前人研究经验,基于计算思维的权威定义,解构计算思维为九大核心要素,对其进行了更深更细致的探索。利用两个学习水平相近的平行班级进行使用流程图策略和不使用流程图策略的对比实验,通过分析数据得出的主要研究结论有:首先,在问题描述阶段,流程图有效促进计算思维核心要素中数据收集、分析和表达能力的提升;其次,解决方案的形成过程中所渗透的计算思维也得到全面提高,其中又以问题的分解层面表现更为突出;最后,在方案的执行与评估中,虽然对计算思维的仿真要素影响不多,但越来越多的学生习惯于像计算机一样可以多任务并行处理,并行化能力得到锻炼。但不可否认的是,本研究中实验教学内容只选取了一个教学单元,实验持续时间也较短,研究结论的普适性还有待进一步提高。