可视化编程能有效促进K12学生的发展吗

2023-07-26 02:28陈鹏王晓杨姝陈晓怡杨东
现代远程教育研究 2023年4期
关键词:元分析学生发展

陈鹏 王晓 杨姝 陈晓怡 杨东

摘要:编程被全球多个国家纳入基础教育课程,可视化编程工具因其具有操作直观、封装简化等特点,已成为中小学开展编程教育的重要方式。然而学界对可视化编程能否有效促进学生的发展,尚未形成一致的结论。通过对近十年SSCI期刊39项实验和准实验研究进行元分析发现:(1)可视化编程对K12学生在认知、行为能力、情感态度三个层面都有促进作用,且对认知的影响最大,其次是情感态度层面;(2)可视化编程在小学阶段的作用效果更为显著;(3)中等规模的可视化编程教学活动对学生认知层面的影响最佳,小规模可视化编程教学活动对学生行为能力层面的影响更突出;(4)不同时长的可视化编程教学活动都对学生发展有积极促进作用,但作用效果无显著差异。未来开展可视化编程教学与实践,可将信息科技课程内容与其他学科结合,综合工具自身的特点以及学生不同年龄阶段的发展特征来设计学习活动,并在实施时采用多样化的教学策略,提高学生的学习投入和学习效果。

关键词:编程教育;可视化编程;K12学生;学生发展;元分析

中图分类号:G434   文献标识码:A    文章编号:1009-5195(2023)04-0102-11  doi10.3969/j.issn.1009-5195.2023.04.012

——————————————————————————————————————————

基金项目:北京市教育委员会科学研究计划项目“基于学习分析技术的计算思维生成过程和评价模型研究”(KM202310028004);首都师范大学教育学院开放课题“基于学习过程分析的计算思维水平预测研究”。

作者简介:陈鹏,博士,高级实验师,硕士生导师,首都师范大学教育学院(北京 100048);王晓,硕士研究生,首都师范大学教育学院(北京 100048);杨姝、陈晓怡,硕士研究生,首都师范大学教师教育学院(北京 100048);杨东,博士,讲师,北京师范大学未来教育学院(广东珠海 519087)。

为应对人工智能的迅速发展,加快建设创新型国家和世界科技强国,国务院印发《新一代人工智能发展规划》提出“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育”(中华人民共和国中央人民政府,2017)。与此同时,《义务教育信息科技课程标准(2022版)》将计算思维列为信息科技课程要培养的核心素养,强调通过课程学习让学生初步具备解决问题的能力,发展计算思维(中华人民共和国教育部,2022)。可视化编程工具因其操作直观、封装简化,降低了代码语句编写的难度、规避了繁琐的语法调试环节,能够有效激发学生编程学习的兴趣,更聚焦于计算思维培养和能力的发展(郁晓华等,2017),成为中小学开展编程教育的重要方式。目前,Scratch、App Inventor、Alice等可视化编程工具,以及与之结合的教育机器人在国内外中小学得到广泛的运用(陈鹏等,2018)。有研究指出,基于可视化编程开展教学活动,学生在计算思维(Noh et al.,2020)、问题解决能力(Yilmaz Ince et al.,2021)、创新能力等方面都能得到发展。但也有研究认为,可视化编程存在一定的局限性,并不能促进学生计算思维的提升以及能力的发展。可见,“可视化编程是否有利于学生发展”这一问题在学界尚未达成一致的结论。本研究拟采用元分析(Meta-Analysis)的方法,梳理国际上基于可视化编程开展的实验和准实验研究,同时以学段、样本规模及实验周期为调节变量分析其对学生发展的作用,为编程教育的研究与实践提供可行性参考。

一、文献综述

编程是人们解决问题的一种思路和方法,主要指人类将要解决的问题以计算机能理解的方式输入计算机,让其根据人的指令完成并实现某特定任务的过程。近些年,随着信息技术对人类生活、生产的影响日益加深,编程教育成为发展学生计算思维、问题解决能力、创造力等的重要途径(张进宝,2019)。然而基于文本的编程工具(如Python、Java)因其过于复杂的程序语法会降低学生编程学习的热情和信心,不适宜初学者,尤其是低龄学习者(Kinnunen et al.,2006;Topalli et al.,2018)。可视化编程工具(也称基于块的可视化编程工具),如常見的Scratch、App Inventor、Alice等,能通过拖动可视化块和设置参数的方式构建程序(Chao,2016)。它们简单、直观的操作界面,容易上手且极具趣味性,能够大大降低编程学习过程中语法操作的难度,满足初学者“低门槛、高天花板”的编程需求(张进宝,2019;Mladenovi? et al.,2018)。目前越来越多的国家和地区在计算机科学教育中运用可视化编程工具,并通过实证研究来探究其对学生发展的影响,然而相关研究的结论并不一致。

一部分研究肯定了可视化编程的积极作用,认为其能够促进学生认知、能力、情感态度等方面的发展。例如认知方面,Rodriguez-Martinez 等(2020)在六年级开展可视化编程活动与数学任务相结合的实验研究,发现利用Scratch完成数学任务有利于发展学生的数学思想和计算思维;Aksit等(2020)在中学课堂中通过基于块的编程活动引入计算思维概念和模型构建内容,发现可视化编程对物理概念学习具有促进作用。能力方面,张景(2022)、Yilmaz Ince等(2021)认为可视化编程活动能够发展学生的批判性思维、问题解决能力、创造力等。Noh 等(2020)针对小学五、六年级开展了为期11周的实验研究,论证了结合可视化编程和机器人可以激发学生的创造力。Erümit(2020)通过实验研究证明了基于Scratch开展融合数学的教学游戏对学生解决问题的算法思维、反思思维都有积极的影响。情感态度方面,研究者在实验或准实验研究中,通过前后测发现,可视化编程工具对学生编程学习的态度(Erümit,2020)、自我效能感(?zmutlu et al.,2021)和学习动机(Hsiao et al.,2022)等均具有积极影响。

也有研究者发现可视化编程存在着一定的局限性,其对学生思维和能力的提升效果不显著。例如:Lewis(2010)的研究指出,对于有信息知识背景的学生而言,可视化编程工具无法为其带来专业感,较难提升学生的学习兴趣和学习效能。Garlick等(2010)对比学生使用Alice编程和传统文本编程的学习效果,发现前者在测试和编程任务上的得分均低于后者。Kalelio?lu 等(2014)在小学开展Scratch教学后发现学生的问题解决能力没有显著提升,学生对可视化编程存在消极态度。郁晓华等(2017)在中小学开展App Inventor教学实践后发现,学生抽象思维、逻辑思维成绩下降,且解决问题的系统化能力未得到显著提升。

还有一些研究者认为,可视化编程的教学效果不能一概而论,它可能会受到学段、班级人数、学习时长等研究设计和教学设计的影响(Chen et al.,2018;Hu et al.,2021)。例如,Atmatzidou等(2016)面向初中、高职学生开展可视化编程活动后,发现不同年龄段学生在计算思维技能的部分维度上有着显著差异。Fidai等(2020)在Scratch编程活动中发现不同学习时长对学生计算思维的提升有显著影响。王靖等(2022)在小学三、四年级开展三轮Scratch编程教学研究后发现,在第一、二轮研究中学生的数学学业成绩、计算思维水平均没有显著提升,而在第三轮中出现显著提升。该结果表明对于低龄学习者,可视化编程学习可能需要经过长时间才会表现出明显的促进作用。崔凯丽(2021)通过准实验研究发现,以技术操作为目标的可视化编程教学对小学生计算思维的发展未见显著的影响,而以计算思维培养为目标的教学则会产生显著效果。

综上所述,可视化编程对学生发展是否有显著的促进作用,学界并没有形成一致的结论。基于此,本研究以国际SSCI期刊文献中的实验和准实验研究成果为对象,采用元分析方法探索可视化编程对K12学生发展的影响。具体的研究问题为:(1)可视化编程能否促进学生(认知、行为能力、情感态度等层面)的发展,具体效果如何?(2)哪些因素(研究学段、样本规模、实验时长)会影响学生的发展?在认知、行为能力、情感态度方面的影响是否有不同?

二、研究方法与过程

1.研究方法

元分析是对特定主题下已有的研究结果,运用统计学进行再分析的研究方法(Glass,1976)。作为一种量化研究方法,元分析方法能够得到一些更具有普适性和可行性的结论,近年来逐渐被众多领域认可和使用,教育领域中的研究者们也用它来分析教与学的有效性问题(杨九民等,2022;Chauhan,2017)。本研究采用元分析方法,以标准化平均差(Standardized Mean Difference,SMD)作为效应量,运用Revman 5.4对相关实验和准实验的研究数据进行分析,评估可视化编程对K12学生发展的影响。

2.研究过程

(1)文献检索

研究设定Web of Science数据库中“SSCI期刊”为检索范围,时间跨度为2013—2022年,以“Programing”“Scratch”“Visual Programming” “Alice or App Inventor”“ScratchJr”为关键词进行主题检索。通过汇总检索结果并将重复文献删除,得到356篇文献。

(2)文献筛选

为探索可视化编程对K12学生发展的影响,研究制定如下文献筛选标准:(1)文献中的工具必须是可视化编程工具(如Scratch、ScratchJr、Alice、App Inventor等);(2)文献研究对象范围包括学前、小学、初中和高中,排除大学及以上阶段的研究;(3)文献为可视化编程环境中开展的实验或准实验研究,并进行了前后测,或者实验组与对照组的比较;(4)文献的数据分析部分有可计算效应量的信息。具体的筛选过程如图 1所示。

根据上述筛选标准和过程,总共得到39项符合要求的独立研究被纳入此次元分析。由于部分独立研究包括多个效应量,最终共得到145个可用于元分析的效应量。

(3)特征值编码

除了对纳入文献的基本信息进行提取之外,本研究还对39项研究做特征值编码。编码由两位研究生背对背独立进行,Cohen Kappa系数为0.88,表明编码结果可信。编码的内容包括研究学段、样本规模、实验时长、研究的作用效果等。综合来看,此次元分析的39项研究,横跨K12所有学段,并以小学阶段的研究最多(N=26)。因学前仅有1项研究,将其纳入到小学阶段一起分析。实验样本规模在11~244人之间,其中30~50人的区间最多(N=15)。实验时长短的有1周,长则达到5个月,其中以8周以上的最多(N=15)。详细编码结果如表 1所示。

通过对研究作用效果的特征值编码进行提取分析,39项研究中共得到13个作用效果。根据布鲁姆的目标分类原理,本研究将所得到的13个作用效果分别归类到认知、行为能力、情感态度三个维度中进行下一步元分析,以探索可视化编程对K12学生发展的影响。其中,认知维度涵盖学生对计算思维概念与知识的获得,以及所涉及学科的学业成绩;行为能力维度主要包括学生在编程活动中行为技能的提升,如算法设计能力、编程及数据处理能力、创造力、批判思维能力、协作能力、问题解决能力以及反思能力;情感态度维度主要是指学生的学习兴趣、态度动机、价值认可、信心与效能感。

三、研究结果与分析

1.發表偏倚检验

为了避免研究者、审稿者及编辑在筛选论文时带来的偏差(杨扬等,2002)影响到纳入文献的代表性,在元分析前首先需进行发表偏倚检验。本研究选用漏斗图和失安全系数来检验发表偏倚。漏斗图(见图 2)显示纳入分析的145个效应量相对均匀且对称地分布在平均效应量的两侧,但也有小部分落在了斜线外,说明研究之间可能具有异质性。根据Rosenthal(1979)提出的失安全系数计算方法(Nfs0.05=(∑Z/1.645)2-k,其中∑Z为每个研究效应量的和,k为纳入分析的研究个数),计算得到本研究中的失安全系数为91021.21,远大于5k+10 (k为纳入分析的研究个数)的容许水平。该结果表明未发表的效应值对本次元分析结果影响较小,纳入的研究不存在发表偏倚。

2.异质性检验

异质性检验的目的是评估各研究之间是否具有可合并性。异质性通常因不同研究所采用的不同的研究方法、研究设计而致,需要通过异质性检验来判断。本研究异质性检验结果I2=84%(见表 2),根据Higgins的标准(Higgins et al,2003)表明,可视化编程对学生发展的作用可能受学段、样本量、实验时长等诸多因素的影响。

3.可视化编程对学生发展的效应检验

本研究采用Cohens d标准(Cohen,1992)作为统计合并效应量的指标。当效应量小于0.2时,说明存在轻度影响;处于0.2~0.8时,存在中度影响;大于0.8时,存在高度影响。本研究的合并效应量SMD为0.68,置信区间为0.61~0.77,合并效应量Z=17.05(p<0.001),达到统计显著水平,表明可视化编程能够促进中小学生发展。

研究从认知、行为能力和情感态度三个维度进一步分析了可视化编程对K12学生的影响,结果如表 3所示。认知层面,可视化编程的作用效应量SMD=0.86(p<0.001),达到统计学意义上的显著水平,表明可视化编程对中小学生的认知发展具有显著促进作用。具体来看,其对计算思维的效应量为SMD=0.83(p<0.001),对学业成绩的效应量为SMD=0.95(p<0.001),作用效果都十分显著。行为能力层面,合并效应量SMD=0.41(p<0.001),表明可视化编程对学生行为能力发展具有显著的中等作用效果。其中,其对算法设计能力(SMD=0.93,p<0.001)存在显著影响,对完成活动任务过程中的创新创造能力(SMD=0.44,p<0.001)、编程及数据处理能力(SMD=0.41,p<0.001)、批判思维(SMD=0.41,p<0.001)、问题解决能力(SMD=0.37,p<0.01)存在中度影响,但是对学生的协作能力(SMD=0.24,p>0.05)、反思能力(SMD=0.23,p>0.05)作用效果不显著,即可视化编程对学生的协作以及反思能力等的促进作用还有待提高。这一结果也可能是由于面向学生反思能力的研究数量不足造成的。因此在这些维度上进行更多的应用探索,是后续研究的重点之一。情感态度层面,可视化编程对学生发展的合并效应量SMD=0.71(p<0.001),具有显著的中等作用效果。它能够显著积极地提升学生学习的价值认可(SMD=0.92,p<0.001)、信心与效能感(SMD=0.85,p<0.001),但对学习兴趣(SMD=0.70,p<0.001)、态度动机(SMD=0.43,p<0.05)的作用效果中等。

综合而言,可视化编程能够促进K12学生在认知、行为能力和情感态度三个方面的正向发展,且对认知层面发展的促进作用最明显,其次是情感态度层面。该研究结果表明,可视化编程对于学生发展的促进作用具有多元性;在编程教育中需加强学生创新创造、批判思维、问题解决等行为能力的发展,提升学习信心与效能感、学习兴趣和态度动机。

4.不同学段学生的发展差异

目前虽然已有针对中小学全学段开展可视化编程的相关探讨,但研究主要集中在小学阶段。按照效应量大小进行排列(见表 4),可视化编程对不同学段学生整体认知发展的影响依次是小学(SMD=0.99,p<0.001)、初中(SMD=0.57,p<0.001)、高中(SMD=0.56,p<0.001)。由合并效应量检验Z=13.50(p<0.001)、组间效应检验结果Chi2=11.46(p<0.01)可知:可视化编程对不同学段学生认知发展的促进作用存在显著差异。具体而言,其对三个学段的学生认知发展均具有显著的中等偏上的促进作用,但对小学阶段学生的影响最为显著,其次是初中和高中。计算思维维度出现了类似的结果,即可视化编程对小学(SMD=0.92,p<0.001)、初中(SMD=0.55,p<0.001)、高中(SMD=0.48,p<0.01)学生的计算思维发展均具有显著的中等偏上促进作用,但三个学段存在显著差异(Chi2=7.88,p<0.05),对小学生的影响最大,其次为初中和高中。在学业成绩维度,可视化编程对小学(SMD=1.20,p<0.001)、初中(SMD=0.59,p<0.01)、高中(SMD=0.69,p<0.05)学生都有显著中等偏上的促进作用,但三者之间不存在显著差异(Chi2=3.91,p>0.05)。行为能力层面,可视化编程作用效果最大的是高中(SMD=0.65,p<0.001)、其次为小学(SMD=0.40,p<0.001)、初中(SMD=0.33,p<0.05)。由合并效应量检验Z=7.81(p<0.001)、组间效应检验结果Chi2=6.59(p<0.05)可知:可视化编程对不同学段学生行为能力发展存在较为显著的差异。情感态度层面,可视化编程作用效果依次是小学(SMD=0.86,p<0.001)、高中(SMD=0.58,p<0.001)、初中(SMD=0.32,p>0.05),合并效应量检验Z=8.12(p<0.001),表明可视化编程对小学、高中学生的情感态度发展有中等偏上的促进作用,但是对初中生的促进作用并不显著。同时由组间效应检验结果(Chi2=6.19,p=0.05)可知,可视化编程对小学、初中、高中学生情感态度方面的影响不存在显著差异。

总体而言,可视化编程能正向促进各学段学生的个体发展,其中,对小学阶段学生认知层面的正向促进作用最为突出,对高中生行为能力层面的效果更明显。这一方面可能是由于可视化编程易操作但丰富性有所欠缺,提供的适合中学生高认知水平的任务有限;另一方面高中生掌握操作更快,在问题解决过程中行为能力能得到更多锻炼。

5.不同样本规模的学生发展差异

为考察不同样本规模的可视化编程活动对学生发展的影响,本研究分析了三种不同样本规模下可视化编程对学生认知、行为能力、情感态度三个方面发展的促进作用,分别是小规模(<50人)、中规模(50~100 人)、大规模(>100人)。如表 5所示,认知层面,小规模(SMD=0.92,p<0.001)、中等规模(SMD=1.03,p<0.001)及大规模(SMD=0.58,p<0.001)样本下可视化编程对学生认知发展均具有显著的中等偏上的促进作用。组间效应量结果(Chi2=10.89,p<0.01)表明,不同样本规模下可视化编程对认知的影响有显著差异,具体来说:中等规模的可视化编程活动比小规模、大规模时更能促进学生认知发展。各规模样本下可视化编程对学生计算思维发展的合并效应量均为正值(Z=11.09,p<0.001),且达到显著水平,表明无论多大的样本规模,可视化编程都会对学生计算思维有中等偏上的正向影响,但是不同规模之间没有显著差异(Chi2=4.58,p>0.05)。学业成绩维度,不同规模下可视化编程都对学业成绩有正向促进作用,且不同规模之间的影响作用具有显著差異(Chi2=7.06,p<0.05),即中等规模(SMD=1.30,p<0.001)高于小规模(SMD=0.91,p<0.001)、大规模(SMD=0.48,p<0.05)。行为能力层面,不同规模样本下可视化编程对学生均具有显著的正向影响,且小规模(SMD=1.01,p<0.001)合并效应量高于大规模(SMD=0.42,p<0.001)和中等规模(SMD=0.33,p<0.001)。组间效应量(Chi2=14.87,p<0.001)表明,可视化编程对学生行为发展的影响在不同规模样本中有显著差异。情感态度层面,中等规模(SMD=0.77,p<0.001)及大规模(SMD=0.73,p<0.05)样本下,可视化编程对学生发展均具有显著的中等偏上的促进作用,但是小规模(SMD=0.14,p>0.05)样本下其对学生情感态度的影响并不显著。组间效应量结果(Chi2=1.55,p>0.05)表明,不同样本规模对学生情感态度的影响不存在显著差异。

总的来说,中等规模人数的编程教学活动对学生认知层面的影响是最佳的,而过大或过小的样本规模会降低作用效果。

6.不同实验周期的学生发展差异

为考察实验周期的长短对学生发展的影响差异,本研究按照短期(4周以内)、中期(5~8周)、长期(8周以上)进行亚组分析,结果如表 6所示。合并效应量检验的结果表明,无论实验周期多长,可视化编程对学生认知(Z=15.49,p<0.001)、行为能力(Z=7.81,p<0.001)、情感态度(Z=8.12,p<0.001)的发展都具有显著的促进作用。认知层面,短期(SMD=0.93,p<0.001)、中期(SMD=0.92,p<0.001)、长期(SMD=0.73,p<0.001)的可视化编程活动都对学生发展有显著的促进作用,但是三者之间不存在显著差异(Chi2=3.41,p>0.05)。具体到计算思维、学业成绩维度,具有相类似的结果。同样的,在行为能力和情感态度层面,短期、中期、长期的实验活动对学生有中等偏上的促进作用,但三者之间也不存在显著差异。

四、研究结论与启示

1.研究结论

本研究运用元分析方法对可视化编程环境下开展的39项研究进行梳理与分析,从认知、行为能力、情感态度三个方面评估可视化编程对K12学生发展的影响,并以学段、样本规模、实验周期作为调节变量讨论了其对学生发展的作用效果及其差异。

(1)可视化编程对学生认知、行为能力、情感态度三个方面的发展均具有正向促进作用

整体来说,可视化编程可以促进学生的发展。认知方面,可视化编程不仅能提升学生对计算思维概念的理解,还有助于提高学生的学业成绩;行为能力方面,除了提高学生的算法设计、编程及数据处理能力之外,可视化编程还能有效培养学生创新创造、批判思维、问题解决能力;情感态度方面,可视化编程能够提升学生对计算思维学习的价值认可、信心与效能感、学习兴趣、态度动机等,且情感态度上的积极作用也能正向影响学生认知和行为能力方面的发展。

可见,可视化编程有利于学生的跨学科学习以及多元能力的培养。分析其原因:首先,可视化编程工具相较于传统的基于文本的编程,更直观且更易操作(Sykes,2007),不仅可以节省学生记忆复杂编程语法和调试错误的时间和精力(Wang et al.,2009),还能降低学生学习编程的认知负荷(Vasilopoulos et al.,2019),增加学生的学习信心,让其专注于学习过程(Lindberg et al.,2019)。其次,可视化编程工具提供了多种功能设置及外部设备(如Arduino)接口,有利于学生创建更多交互式的游戏、动画等 ,激发学习兴趣,丰富学习体验,让他们在游戏中解决数学、科学、语言等不同学科的学习问题(Topalli et al.,2018);在问题解决过程中,还可以帮助学生理解更深层次的概念知识,发展学生的算法设计、批判思维、创新创造、问题解决等多元能力。未来不仅可以在信息科技学科内,也可以擴展到其他学科中,探索如何更好地综合跨学科知识设计教学活动,运用可视化编程工具培养学生多元知识和行为能力。

(2)可视化编程对学生认知、行为能力、情感态度发展的促进作用受学段、样本规模、实验周期等调节变量的影响

从学段来看,首先,可视化编程对小学、初中、高中学生整体的认知发展具有显著的促进作用,且对小学生的作用效果最为显著,其次是初中生、高中生。组间效应显示,可视化编程在不同学段对计算思维的促进作用存在显著差异,效果由大到小分别为小学、初中、高中;但对不同学段学生的学业成绩的促进作用不存在显著差异。这可能是由于编程教育主要聚焦在计算思维的培养上,其他学科知识融入以基础知识为主,三个学段之间知识的难度层次差异不大。其次,可视化编程对小学生、高中生的情感态度提升有较强的促进作用,但对初中生的促进作用并不显著;在行为能力方面的影响也存在相类似的结果,对初中生的促进作用低于小学生和高中生。分析其原因,可能是由于可视化编程工具的直观和易操作性,基于其开展的学习活动对小学生是有趣且愉快的,但是对于初中生来说有些过于简单了(Cheung et al.,2009),无法提供符合其需求的复杂的、具有挑战性的活动与任务(Hu et al.,2021)。而在高中阶段,将可视化编程与其他学科知识相结合(Zha et al.,2020),能够缓解学习压力,促进学习投入。未来研究可以更多关注如何设计符合中学生认知能力和学习水平的活动,探索可视化编程工具和文本编程工具相结合的编程教学。

对样本规模的分析显示,可视化编程能够促进不同样本规模学生的认知发展,但不同规模下其对计算思维的影响不存在显著差异,对学业成绩的影响存在显著差异,且在中等规模样本上的作用更为显著。行为能力方面,小规模的教学效果要显著高于大规模和中等规模。小规模教学时,学生分配到的学习资源增加,同时教师也便于管理和控制教学节奏,有助于学习活动的开展。但另一方面,大规模教学也有其优势,如学生人数的增加有利于课堂中学生合作氛围的形成(Sun et al.,2021)。因此,未来可探索适合不同规模的教学策略和模式。

从实验周期来看,无论实验周期多长,可视化编程对学生认知、行为能力、情感态度的发展都具有积极显著的促进作用,但是这种正向的影响在短、中、长的实验活动之间不存在显著差异。换个角度来说,可视化编程工具有着抽象分析、模块分解、自动化编程、编程调试等相对固定的步骤(Li et al.,2022),因此学生能在短时间内了解并掌握计算思维技能,并完成相应的任务挑战。

2.研究启示

综合来看,元分析结果肯定了可视化编程对学生认知、行为能力、情感态度方面的发展具有积极促进作用,但这种作用效果会受到学习者、学习情境等外在因素的影响,因此开展可视化编程教学与实践时,应综合考虑多方要素。

(1)跨学科综合化设计,培养学生多元能力

教育要消除各学科知识之间的孤立状态(怀特海,2016),学科整合与融合是教育面向社会发展的必然。《义务教育信息科技课程标准(2022年版)》将“信息技术”课程更改为“信息科技”课程,将过去关注操作、强调知识点学习的技术导向,转变为如何认识与理解世界,培养学生解决真实世界问题的知识运用能力、批判性思维、创新创造能力等。可视化编程对于学生计算思维、学业成绩都有显著的积极作用。编程课程与其他学科内容相结合,在提升学生计算思维的基础上,还能促进其他学科知识的学习(Barr et al.,2011;Swaid,2015)。因此,可以将信息科技课程内容与其他相关学科进行跨学科的综合化设计,关注知识的交叉与动态变化,帮助学生在复杂的学习环境中理解计算思维,通过计算思维技能和多元能力的发展来应对其他学科问题的挑战。

(2)结合工具特点设计,适应不同阶段学生的发展特征

可视化编程对不同学段学生的认知、行为能力、情感态度的作用效果不同,因此编程教育应结合工具自身的特点以及学生不同年龄阶段的发展特征,综合设计学习活动。思维是在知识不断获取过程中养成的,是学习者认知发展变化的结果。作为编程教育聚焦培养的计算思维,它的发展是循序渐进的过程。孙立会等(2020)根据皮亚杰的认知发展阶段理论提出儿童计算思维的发展包括前计算思维阶段、计算思维准备阶段、计算思维形成阶段和计算思维发展阶段四个阶段;并提出宜在前计算思维阶段采用实物感知和实体操作,准备阶段采用“不插电”活动,形成阶段基于可视化编程发展计算思维,发展阶段以纸笔编程解决高度逻辑化的问题等。Del Olmo-Mu?oz等(2020)发现,相较于只采用基于可视化编程工具的“插电”活动而言,将“不插电”活动与 “插电”活动相结合更能够有效地发展小学生的计算思维技能;“不插电”活动为后续的“插电”活动奠定了基础(Saxena et al.,2020)。基于中学生对复杂的、挑战性任务的需求,将可视化编程工具与基于文本编程相结合,会更有利于促进学生的发展(Costa et al.,2017)。因此,研究者需综合考虑不同工具的特点以及学生不同阶段的发展特征,设计课程及活动,以更好地促进学生发展。

(3)探索多样化教学策略,应对班级规模影响

可视化编程对不同样本规模的学生发展都有着显著的中等偏上的促进作用,且在中等规模实践中对认知发展的作用效果最显著,在小规模样本中对行为能力的影响最显著。小规模授课,教师能有更多时间给予学生所需要的关注(Betts et al.,1999),也能根据不同需求开展适应性教育(Houtveen et al.,1999)。但也有研究指出,缩小班级规模在小学阶段最有效,且这种效果会受到干预时长的影响(Biddle et al.,2002)。小规模授课并不能解决所有的教育问题,学生数量只对成绩有间接影响,教学规模与学习效果之间的作用还受到学科、学生先前知识、教师的满意度和积极性的影响(Filges et al.,2015)。因此,面对存在不同教学规模的教育现实,为保障可视化编程教学的作用效果,教师可探索更适切、个性化的教学内容,采用多样化的教学策略,提高學生的学习投入和学习效果。

参考文献:

[1][英]怀特海(2016).教育的目的[M].靳玉乐,刘富利.北京:中国轻工业出版社:8.

[2]陈鹏,黄荣怀,梁跃等(2018).如何培养计算思维——基于2006—2016年研究文献及最新国际会议论文[J].现代远程教育研究,(1):98-112.

[3]崔凯丽(2021).基于可视化编程的小学生计算思维培养效果研究[D].呼和浩特:内蒙古师范大学:3.

[4]孙立会,王晓倩(2020).计算思维培养阶段划分与教授策略探讨——基于皮亚杰认知发展阶段论[J].中国电化教育,(3):32-41.

[5]王靖,马志强,刘亚琴等(2022).面向计算思维的可视化编程活动设计与应用[J].现代教育技术,(9):55-63.

[6]杨九民,杨文蝶,陈辉等(2022).教学视频中的教师手势起作用了吗?——基于2000—2021年40篇实验和准实验研究的元分析[J].现代远程教育研究,34(1):92-103.

[7]杨扬,沈志超,靳纯桥(2002).发表偏倚的原因、后果与预防研究[J].编辑学报,(3):170-172.

[8]郁晓华,肖敏,王美玲等(2017).基于可视化编程的计算思维培养模式研究——兼论信息技术课堂中计算思维的培养[J].远程教育杂志,35(6):12-20.

[9]张进宝(2019).计算思维教育:概念演变与面临的挑战[J].现代远程教育研究,31(6):89-101.

[10]张景(2022).面向创客教育的小学Scratch游戏编程项目式学习研究[D].武汉:华中师范大学:40.

[11]中华人民共和国教育部(2022).教育部关于印发义务教育课程方案和课程标准(2022年版)的通知[EB/OL].[2022-08-20].http://www.moe.gov.cn/srcsite/A26/s8001/202204/t20220420_619921.html.

[12]中华人民共和国中央人民政府(2017).国务院关于印发新一代人工智能发展规划的通知[EB/OL]. [2022-08-20].http://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm.

[13]Aksit, O., & Wiebe, E. N. (2020). Exploring Force and Motion Concepts in Middle Grades Using Computational Modeling: A Classroom Intervention Study[J]. Journal of Science Education and Technology, 29(1):65-82.

[14]Atmatzidou, S., & Demetriadis, S. (2016). Advancing StudentsComputational Thinking Skills Through Educational Robotics: A Study on Age and Gender Relevant Differences[J]. Robotics and Autonomous Systems, 75 (Part B):661-670.

[15]Barr, V., & Stephenson, C. (2011). Bringing Computational Thinking to K-12: What Is Involved and What Is the Role of the Computer Science Education Community?[J]. ACM Inroads, 2(1):48-54.

[16]Betts, J. R., & Shkolnik, J. L. (1999). The Behavioral Effects of Variations in Class Size: The Case of Math Teachers[J]. Educational Evaluation and Policy Analysis, 21(2):193-213.

[17]Biddle, B. J., & Berliner, D. C. (2002). Small Class Size and Its Effects[J]. Educational Leadership, 59(5):12-23.

[18]Chao, P. Y. (2016). Exploring Students Computational Practice, Design and Performance of Problem-Solving Through a Visual Programming Environment[J]. Computers & Education, 95:202-215.

[19]Chauhan, S. (2017). A Meta-Analysis of the Impact of Technology on Learning Effectiveness of Elementary Students[J]. Computers & Education, 105:14-30.

[20]Chen, J., Wang, M., & Kirschner, P. A. et al. (2018). The Role of Collaboration, Computer Use, Learning Environments, and Supporting Strategies in CSCL: A Meta-Analysis[J]. Review of Educational Research, 88(6):799-843.

[21]Cheung, J. C. Y., Ngai, G., & Chan, S. C. F. et al. (2009). Filling the Gap in Programming Instruction: A Text-Enhanced Graphical Programming Environment for Junior High Students[J]. ACM SIGCSE Bulletin, 41(1):276-280.

[22]Cohen, J. (1992). A Power Primer[J]. Psychological Bulletin, 112:155-159.

[23]Costa, J. M., & Miranda, G. L. (2017). Relation Between Alice Software and Programming Learning: A Systematic Review of the Literature and Meta-Analysis[J]. British Journal of Educational Technology, 48(6):1464-1474.

[24]Del Olmo-Mu?oz, J., Cózar-Gutiérrez, R., & González-

Calero, J. A. (2020). Computational Thinking Through Unplugged Activities in Early Years of Primary Education[J]. Computers & Education, 150:103832.

[25]Erümit, A. K. (2020). Effects of Different Teaching Approaches on Programming Skills[J]. Education and Information Technologies, 25(2):1013-1037.

[26]Fidai, A., Capraro, M. M., & Capraro, R. M. (2020). “Scratch”-ing Computational Thinking with Arduino: A Meta-Analysis[J]. Thinking Skills and Creativity, 38:100726.

[27]Filges, T., Sonne-Schmidt, C. S., & Nielsen, B. C. V. (2015). Small Class Sizes for Improving Student Achievement in Primary and Secondary Schools: A Systematic Review[J]. Campbell Systematic Reviews, 11(1):1-41.

[28]Garlick, R., & Cankaya, E. C. (2010). Using Alice in CS1: A Quantitative Experiment[C]// Fifteenth Annual Conference on Innovation and Technology in Computer Science Education, Ankara:165-168.

[29]Glass, G. V. (1976). Primary, Secondary, and Meta-Analysis of Research[J]. Educational Researcher, 5(10):3-8.

[30]Higgins, J. P. T., Thompson, S. G., & Deeks, J. J. et al. (2003). Measuring Inconsistency in Meta-Analyses[J]. British Medical Journal, 327(1):557-560.

[31]Houtveen, A. A. M., Booij, N., & de Jong, R. et al. (1999). Adaptive Instruction and Pupil Achievement[J]. School Effectiveness and School Improvement, 10(2):172-192.

[32]Hsiao, H. S., Lin, Y. W., & Lin, K. Y. et al. (2022). Using Robot-Based Practices to Develop an Activity that Incorporated the 6E Model to Improve Elementary School StudentsLearning Performances[J]. Interactive Learning Environments, 30(1):85-99.

[33]Hu, Y., Chen, C. H., & Su, C. Y. (2021). Exploring the Effectiveness and Moderators of Block-Based Visual Programming on Student Learning: A Meta-Analysis[J]. Journal of Educational Computing Research, 58(8):1467-1493.

[34]Kalelio?lu, F., & Gülbahar, Y. (2014). The Effects of Teaching Programming via Scratch on Problem Solving Skills: A Discussion from LearnersPerspective[J]. Informatics in Education, 13(1):33-50.

[35]Kinnunen, P., & Malmi, L. (2006). Why Students Drop Out CS1 Course? [C] //Proceedings of the Second International Workshop on Computing Education Research. Association for Computing Machinery, New York:97-108.

[36]Lewis, C. M. (2010). How Programming Environment Shapes Perception, Learning and Goals: Logo vs Scratch [C]// Proceedings of the 41st ACM Technical Symposium on Computer Science Education, Milwaukee:10-13.

[37]Li, F., Wang, X., & He, X. et al. (2022). The Effectiveness of Unplugged Activities and Programming Exercises in Computational Thinking Education: A Meta-Analysis[J]. Education and Information Technologies, 27:7993-8013.

[38]Lindberg, R. S. N., Laine, T. H., & Haaranen, L. (2019). Gamifying Programming Education in K-12: A Review of Programming Curricula in Seven Countries and Programming Games[J]. British Journal of Educational Technology, 50(4):1979-1995.

[39]Mladenovi?, M., Boljat, I., & ?anko, ?. (2018). Comparing Loops Misconceptions in Block-Based and Text-Based Programming Languages at the K-12 Level[J]. Education and Information Technologies, 23(4):1483-1500.

[40]Noh, J., & Lee, J. (2020). Effects of Robotics Programming on the Computational Thinking and Creativity of Elementary School Students[J]. Educational Technology Research and Development, 68(1):463-484.

[41]?zmutlu, M., Atay, D., & Erdo?an, B. (2021). Collaboration and Engagement Based Coding Training to Enhance Childrens Computational Thinking Self-Efficacy[J]. Thinking Skills and Creativity, 40:100833.

[42]Rodriguez-Martinez, J. A., Gonzalez-Calero, J. A., & Saez-Lopez, J. M. (2020). Computational Thinking and Mathematics Using Scratch: An Experiment with Sixth-grade Students[J]. Interactive Learning Environments, 28(3):316-327.

[43]Rosenthal, R. (1979). The File Drawer Problem and Tolerance for Null Results[J]. Psychological Bulletin, 86:638-641.

[44]Saxena, A., Lo, C. K., & Hew, K. F. et al. (2020). Designing Unplugged and Plugged Activities to Cultivate Computational Thinking: An Exploratory Study in Early Childhood Education[J]. The Asia-Pacific Education Researcher, 29(1):55-66.

[45]Sun, L., Guo, Z., & Hu, L. (2021). Educational Games Promote the Development of StudentsComputational Thinking: A Meta-Analytic Review[J]. Interactive Learning Environments, 5:1-15.

[46]Swaid, S. I. (2015). Bringing Computational Thinking to STEM Education[J]. Procedia Manufacturing, 3:3657-3662.

[47]Sykes, E. R. (2007). Determining the Effectiveness of the 3D Alice Programming Environment at the Computer Science I Level[J]. Journal of Educational Computing Research, 36(2):223-244.

[48]Topalli, D., & Cagiltay, N. E. (2018). Improving Programming Skills in Engineering Education Through Problem-Based Game Projects with Scratch[J]. Computers & Education, 120:64-74.

[49]Vasilopoulos, I. V., & Van Schaik, P. (2019). Koios: Design, Development, and Evaluation of an Educational Visual Tool for Greek Novice Programmers[J]. Journal of Educational Computing Research, 57(5):1227-1259.

[50]Wang, T. C., Mei, W. H., & Lin, S. L. et al. (2009). Teaching Programming Concepts to High School Students with Alice[C]// Proceedings of the 39th IEEE Frontiers in Education Conference, San Antonio:1-6.

[51]Yilmaz Ince, E., & Koc, M. (2021). The Consequences of Robotics Programming Education on Computational Thinking Skills: An Intervention of the Young Engineers Workshop (YEW) [J]. Computer Applications in Engineering Education, 29(1):191-208.

[52]Zha, S., Morrow, D. A. L., & Curtis, J. et al. (2020). Learning Culture and Computational Thinking in a Spanish Course: A Development Model[J]. Journal of Educational Computing Research, 59(5):844-869.

收稿日期 2022-09-14責任编辑 汪燕

Can Visual Programming Improve the Development of K12 Student?

—A Meta-Analysis of 39 Experiments and Quasi-Experiments Studies from SSCI Journals in the Past Decade

CHEN Peng, WANG Xiao, YANG Shu, CHEN Xiaoyi, YANG Dong

Abstract: Programming education has been incorporated into the basic education curriculum in many countries. Visual programming tools is the main tool for K12 programming education because of their features such as intuitive operation and simplified packaging. However, there is a debate about whether visual programming could improve student development or not. The study conducted a meta-analysis based on 39 experiments and quasi-experimental studies published in SSCI journals. The results show as follows. Visual programming has positive effects on K12 student at the cognitive, behavioral and affective levels, and the effect of the cognitive level is the most prominent, followed by the affective level; The effect of visual programming on student development is more significant at the elementary school level; The medium sample teaching activities have the best influence on the cognitive level of students, and the small size sample activities were more prominent at the behavioral level; Visual programming teaching activities with different duration all have a positive effect on the development of students, but there is no significant difference in the effect. In the future, visual programming teaching and practice can integrate information technology curriculum content with other disciplines, synthesize the characteristics of the tools and the students at different ages, comprehensively design learning activities, and adopt diversified teaching strategies to improve students learning engagement and learning effect.

Keywords: Programming Education; Visual Programming; K12 Student; Student Development; Meta-Analysis

猜你喜欢
元分析学生发展
小学语文课堂的留白艺术教学分析
小学校园文化建设策略浅析
高中生网络成瘾及其相关因素探究
职业中学《职业道德与法律》课程教学改革的问题探究
小学班主任的管理策略研究
护理实践教学中在线学习效果的元分析
信任性别差异的元分析
大学生主观幸福感变迁的元分析研究