国外计算思维评价发展现状及启示

2020-02-01 11:22赵福生刘力
现代计算机 2020年35期
关键词:计算机科学代码编程

赵福生,刘力

(沈阳师范大学教师教育学院,沈阳110034)

0 引言

国外,计算思维作为21世纪的一系列关键技能已经进入了K-12[1]。国内,计算思维作为核心素养之一成为信息技术学科的核心议题,现正在向义务教育阶段普及[2]。然而,计算思维评价仍然是具有挑战性的任务,它不只评价专门领域内的技术和技能,也要评价与领域无关的元技能。找到这样的解决方法是很关键的,因为评价不仅决定教育的目标是否达到,而且它还用于课程设计[1]。

Roman-Gonzalez等人将现存的k-12阶段计算思维评价方法基于不同的视角分成了五类[3]:①终结性评价:一般是通过标准化测试进行;②形成性迭代工具,指的是在一个特定的编程环境下,通常是通过自动的反馈提高计算思维技能;③技术转移工具,它是用来评价将计算思维技能转移成不同类型的问题;④感知—态度量表,一个典型的例子是CTS,它用来检测学生的创造力、算法思维、合作性,批判思维及问题解决能力;⑤词汇评估,它基于这样的理念,即领域内的语言可以帮助更有效地思考计算思维。

近5年,国内外学者对计算思维评价的研究都取得了一定成果,但鲜有文献对最新的研究发展情况进行梳理。因此,为揭示国外计算思维评价的发展,本研究在对国外计算思维评价研究进展梳理与分析的基础上,对国内计算思维评价研究提出一些期望与建议,以期为我国今后计算思维评价研究与实践的开展提供借鉴与参考。

1 研究设计

本研究选取ACM Digital Library(国际计算机协会数字图书馆)刊发的“计算思维评价”近5年相关期刊文献,作为研究样本。样本的获取方法为:使用Ad⁃vanced Search(高级检索)功能,检索项目选择The ACM full-Text collection,内容检索条件选择Title,并输入关键词computational thinking,逻辑条件选择“&”,同样Title输入assess,检索日期选择01/01/2016到03/31/2020,共检索出文献43篇,剔除非学术性及与计算思维无关的文献后,将剩余的26篇作为本研究的有效样本。主要采用内容分析法,从细节入手,阐述国外计算思维评价研究的最新进展。

2 国外研究进展

国外学界对于计算思维的解读存在着多样性,但评价的依据多是根据Brennan&Resnick对计算思维三个维度的划分,计算概念、计算实践和计算观点。这种划分有利于将计算思维的培养融合到具体课程和不同的课程中[2],尤其是在K-12阶段,极大地促进了计算思维概念突破了计算机科学的局囿,广泛地用于指导具体的实践,也有利于研究者们利用已被证实有效的工具进行评价或开发新的工具。现在国外学界计算思维评价的研究在工具内容上呈现两个方面:非计算机科学的和计算机科学的。

2.1 非计算机科学的

这类评价主要针对低年级的学生,无须经过培训,由于他们在生活中和学习中无意识地接触了一些计算概念,为了测量他们的水平,采用了智力游戏类的工具。

基于游戏学习的测试工具(GBLA),这种类型以闯关游戏为测试环境,通过学生闯关的“行为记录”测试其计算思维。Elizabeth Rowe等人用Zoombinis学习游戏软件测试3-8年级学生的隐性计算思维[4]。他们认为隐性思维虽然难以言述,但可以通过行为表露出来,于是用Zoombinis评价计算实践中的问题分解、模式识别、抽象和算法思维等计算思维技能,并根据它们在解决问题过程中的发生顺序排列成线性关系,与之对应交织在一起的是人类问题解决的行为迭代过程——从试错开始,至归纳通解结束。研究围绕着“人类能可靠地标记出什么样的内隐计算思维的行为作为测试指标”问题展开。首先,对不同年龄、不同经验玩家闯关时采取的策略录制视频并加以分析;其次,将视频中出现的人类行为指标和游戏产生的脚本合并,将日志数据提取为对测量策略有用的特征,尤其是那些与计算思维一致的策略;再次,在游戏脚本中建立玩家计算思维策略探测器,验证探测器的有效性。Elizabeth已经找到了12个闯关游戏中的5个,下一步将用一致性信度验证指标系统,最终建立隐性计算思维的自动探测工具[4-5]。

Satabdi Basu等人对计算概念中的“数据与分析”进行评价,他将这个概念进一步细分为:数据收集、存储、可视化、转换[6],并为每个子模块设计了一套评价原则。实验过程是让学生使用一款形成性评价工具Beats Empire,这是一款音乐制作管理游戏,学生收集听众的兴趣,使用收集的数据决定由哪位艺术家献歌,献什么歌并进行录制。结论发现:①43%的录制歌曲没有依据任何歌曲的数据分析,而是更多的依赖“喜好”和“生活经验”,说明学生的数据素养不高;②学生不能熟练地使用线型图,区分线型图和条状图上也存在困难。

Satabdi Basu等人采用循证方法(ECD)设计了12个任务[7],所有的任务都是基于情节的且不依附于编程知识。经过对香港54所学校14787名4-6年级学生测试后的数据信效度分析后,他们认为,尽管拥有实践知识不等于在实践中能够创造出作品,但是学生在工具上的表现可以提供它们在尝试参与这些实践时将面临的挑战。

Kanaki Kalliopi等人用PhysGramming游戏软件评价希腊1-2年级学生[8]。尽管游戏的项目与计算思维的维度建立了良好的对应关系,但是关于测试分数与计算思维水平之间的关系,即“高分数是高水平计算思维的充要条件吗?”这个问题,Kanaki没有回答。

Brandon Rodriguez等人将创始人Tim Bell的“不插电”的计算机科学活动(CS Unplugged)扩充到了10个[9]。他们假设“不插电”活动可以向其他方法一样有效地教授基本的计算概念,例如二进制数、二元搜索和排序网络。因此设计了两个实验,经过对两个组测试的数据分析后,发现学生通过“不插电”活动至少是记住了计算概念,也学到了很多计算方面的知识。但是对每一个活动的数据分析后,Brandon认为,学生在被认为与数据表达技能对应的二进制字符编码上的优秀表现,不意味着就能完全理解数据表达任务。

综上,非计算机科学测试工具主要采用游戏类软件,它的关键是什么内容的测试题目能准确地反映计算思维的维度及水平的高低。

2.2 计算机科学的

这类工具的开发者认为编程是计算思维形成的土壤,只有用专业的知识评价,才能获得准确的信息。它针对的是具有专业知识的学生或教师,否则要培训后再测评。

Siu-Cheung Kong和Andrew Chan-chio Lao认为最有效的培养教师计算思维的方法就是通过编程培训[10]。为此,他们设计了两门课程,课程1聚焦于计算思维概念、实践和观点,课程2重点内容是计算思维培养的教学方法。测试后,经过数据分析和信效度计算,他们给出了在教学方面的建议:教师参加课程培训后,取得了计算思维实践能力的提高,教师应该在他们的教学初期和职业发展过程中接受编程训练,并参与如何培养计算思维教学方法的研讨,有助于教师在以后的职业生涯中回顾和反思他们入职初期所学,并在职业发展中不断积累经验。最后,认为未来值得研究的是,教师计算思维的形成对学生的影响。

Amy K.Hoover等人基于设计游戏能表达被试的计算思维的理念,且游戏的高复杂性和意图代表着高层次的计算思维[11],他们对5位初中女生进行前期游戏设计培训后,让她们用Scratch设计一款反映“气候变化”的游戏,并用三角验证法(triangulation),目的是探索混合评价方式的约束条件,改进测评分数,为教师和学生提供更有意义的反馈。经过对比学生的作品,发现尽管量表得到了验证,修复了对未使用的“积木块”也进行了加分的弊端,但是在逻辑上、内容的合理性上还是存在天生的缺陷。质性分析得出的游戏设置过于简单、不现实甚至不合理的判断都无法通过量化分析体现,因为量化分析依据的是“代码出现的频率”,复杂代码出现的频率大(如if...else),得分就高,而不考虑复杂代码的必要性、目标的可达到性与功能的关系等。

Eric Wiebe等人将Roman-Gonzalez的CTt量表和Bebras结合起来,开发了一个适用于6-8年级的“精益”的具有较高表面效度的计算思维评价工具[12]。CTt和Bebras天生的具有互补性,且都是经过验证的成熟的工具。尽管它使用了类似于编程方式的“积木”工具,但是研究并没有在预先没有编程经验的学生身上发现“地板效应”。二者的测量对象都是无编程背景的学生,CTt侧重于实践,使用了“积木式”工具,如图1所示,Bebras更偏向于概念,所以使用了“填图”类工具,如图2所示。

图1 CTt的一个样例

图2 Bebras竞赛的一个样例

综上,计算机科学测试工具克服了寻找“替代品”的障碍,但被测对象要具备一定的编程基础。还有,如何识别出代码之间内部的逻辑关系也是一个难点。

3 对我国计算思维评价研究的启示与建议

目前,国内的研究相对落后,仍是以测试题或量表为主流工具。郁晓华(2019)采用测试题前后测方法证明培养实践的有效性[13],顾小清(2019)以CT量表为工具,采用李克特5点计分法,对我国南方某省1015名学生测量计算思维[14]。去年,教育部印发的《2019年教育信息化和网络安全工作要点》的通知[15],明确提出,将推动在中小学阶段设置人工智能相关课程,普及人工智能教育,并逐步推广编程教育。最近,教育部又发文,将编程课列为中小学必修课程[16]。鉴于此,我们在借鉴国外计算思维评价研究进展的基础上,提出以下建议:

使用计算机科学(编程类)软件工具作为测评环境,且按照以下顺序评价计算思维。第一,以结果实现为第一准则。程序实现是计算思维评价的根本,复杂度再高的代码,如果没有实现程序要求,也无济于事,因为这可能意味着程序逻辑上的错误;第二,在结果实现的基础上,优先考虑代码量最少(积木块最少)。代码行数少,意味着逻辑严谨,计算实践性强,使用算法的可能性很大。如递归算法要比循环代码量小;之所以不优先考虑代码复杂性,因为无限制的代码复杂性不一定代表着计算思维能力强。如,实现switch...de⁃fault语句功能可能需要多层if...else嵌套,但显然前者执行效率高;第三,在前二者的基础上,代码嵌套层次越多,意味着程序越复杂,计算思维能力越强,国外已经开发出测试阅读代码能力的工具Nester[17]。

4 结语

教育测量与评价是教育科学研究的三大领域之一,而思维的测量与评价是其中的难点,计算思维评价作为新兴产物,在我国处于起步阶段。纵观国外的研究进展,大都在使用软件自动测评法,并用三角验证法衡量量化结果的有效性。鉴于国外测评软件的使用情况及国内即将在中小学开设编程课程,笔者认为,我国学者应关注计算机科学类测评软件的研究,并提出了提高评价有效性的3点建议,希望对相关研究提供一些帮助,共同推动我国计算思维教育教学的健康发展。

猜你喜欢
计算机科学代码编程
元征X-431实测:奔驰发动机编程
元征X-431 PADⅢ实测:斯巴鲁森林人(FORESTER)在线编程
美国《CSTA计算机科学教师标准》评介
纺织机上诞生的编程
试论计算机科学与技术的现代化运用
新英镑
学编程,先画画
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细