APP下载

编程真的能促进儿童的个体发展吗? *——基于28 项实验和准实验研究的元分析

2021-10-27孙立会胡琳琳

关键词:编程效应个体

孙立会 胡琳琳

(天津大学教育学院,天津 300350)

一、引言

面向智能时代,日本、美国、新加坡、丹麦、芬兰等世界主要国家均率先出台相关政策普及编程教育,推进基础教育中的编程跨学科整合(森秀樹,杉澤学,張海,前迫孝憲,2011;石晋阳,2018)。虽然国内儿童编程教育起步较晚,但极具后发优势。国务院在2017年印发了《新一代人工智能发展规划的通知》(中华人民共和国中央人民政府,2017),提出“在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”,极大地推动了儿童编程教育市场的迅猛发展。2018年的“两会”再次强调了人工智能给中国带来的历史机遇,教育部也逐步将儿童编程纳入中小学基础必修课体系之中。随后,浙江、山东、江苏、山西、广东、上海、天津等省市相继出台政策文件,陆续实施课程改革,让编程教育走进中小学课堂。但是,政策在落地过程中的实际表现,与初衷有所偏差。就目前形势来看,编程教育或多或少地忽视了其本质的教育功能与目的,反而被附加上了众多“目的与功利性”色彩:从自主招生到高考再到出国乃至未来就业,掌握编程技能使得儿童在竞争中更具优势。儿童编程终究是否符合教育规律?它能否真正促进儿童的个体发展?这既是众多家长及教育者焦虑和担忧的地方,也是现阶段推广儿童编程教育亟待回答的重要问题。

为此,众多学者进行了大量的实证研究,但研究结果却不尽相同,这导致儿童编程对个体发展的效果仍难以阐释。一部分研究指出,儿童在编程活动中可获得知识的迁移(Clements & Meredith,1993;Clements & Sarama,1997;Palumbo,1990)、思维的提升(Johnsongentile,Clements,& Battista,1994;Lye &Koh,2014;Moreno-León,Robles,& Román-González,2016)、问题解决能力的培养(Bernardo & Morris,1994;Falloon,2016;Fessakis,Gouli,& Mavroudi,2013)以及社交协作行为的习得(Popat & Starkey,2019;Resnick et al.,2009)等诸多方面的发展。同时,Psycharis & Kallia(2017)通过对66名高中生进行分组对照实验研究的结果显示,参与程序设计课程的学生与未参与程序设计课程的学生在推理能力及自我效能感评价指标上存在显著差异;Bernardo(1994)和Palumbo(1990)的早期研究测量了问题解决能力的发展,结果发现编程对数学问题解决能力的改善显著高于没有接受特定编程指导的控制组;在学前儿童的一项编程活动实验中发现,编程使得学前儿童解决问题变得更容易(Papadakis,Kalogiannakis,& Zaranis,2016);将机器人技术和计算机编程融入儿童早期学习,采用故事排序任务进行干预并对参与者前后的排序技能进行评估后,发现儿童的排序能力显著增强(Kazakoff,Sullivan,& Bers,2013)。然而,与上述研究结果相反的是,另一部分研究发现编程并没有显著促进儿童个体各个方面的发展。Falloon(2016)、Kalelioğlu & Gülbahar(2014)发现,在小学中进行Scratch教学的干预前后,学生的问题解决能力并无显著差异;Psycharis et al.(2017)虽在研究中发现将数学教学与计算机编程结合起来可以提高数学问题解决能力,但在统计学上这种改善并不比没有接受编程数学学习的控制组有明显的提高;同样,一项研究发现,参与编程活动的实验组女孩与未参与编程活动的对照组女孩的解决问题的成绩之间没有显著差异(Miller et al.,1988);甚至,Hayes & Stewart(2016)的研究比较了使用Scratch和使用派生关系响应(Derived Relational Responding,DRR)培训计划的学生的认知变化,并得出结论认为,使用Scratch的学生进步更小。

基于此,本研究采用元分析(Meta-analysis)的方法,从“儿童编程是否促进儿童的个体发展”这一视角出发,梳理了有关编程对个体发展影响的实证研究,并对其研究结果进行整理、分析、评估,得出编程对儿童个体发展的影响程度。并且,研究进一步分析了不同学段、编程形式、样本规模及实验周期等调节变量对编程影响儿童个体发展的差异,以期得到科学合理的结论,为后续推广儿童编程教育研究与实践提供可行性参考。

二、研究方法与过程

(一)研究方法

元分析(Meta-analysis)是一种依据特定主题,通过整合已有研究结果,运用统计学对多个独立研究的结果进行再分析的研究方法(Glass,1976)。由于它在一定程度上可防止和纠正传统研究方法中存在的偏见与不足,能够得到更具普适性、规律性和科学性的研究结论(陈鹤阳,朝乐门,2015),因此逐渐成为一种被广泛认可和使用的量化研究方法。近年来元分析方法在教育领域也被广泛用以分析技术在教育教学应用中的有效性问题,且研究结论都具有一定的参考性(顾小清,胡梦华,2018;王翠如,胡永斌,2018;王雪,徐文文,高泽红,王志军,2019)。本文采用元分析方法对28项关于儿童编程对个体发展作用效果的实验及准实验研究进行整合、分析,旨在评估编程能否或是在多大程度上促进儿童个体发展。本研究以标准化平均差(Standardized Mean Difference,SMD)作为效应量,用以表征儿童编程对个体发展的影响程度。

(二)研究过程

1. 文献检索

本研究选取Web of Science、EI、EBSCOhost、ERIC、Elsevier、Springer、Wiley、Taylor等大型数据库,检索类型设定为“期刊”检索,在高级检索入口下选择主题检索模式,且其他检索条件设为默认,检索框中输入检索公式“(students or child* or teenager)and(program* or code or LOGO or Scratch or unplugged)and(thinking or ability or influen*)and(research or study)”运行检索,并将所得文献导出汇总。在此基础之上,依据第一轮检索所获取文献的参考文献采用“滚雪球”式的检索方式进行第二轮检索,以期获得更多主题相关文献。我们将两轮文献检索所得数据汇总至Excel进行数据清洗,删除重复的文献,共计产生322篇可供进一步筛选分析的候选文献。

2. 文献遴选

文献纳入排除过程如图1所示。鉴于检索到的文献并不都符合此次元分析的要求,因此本研究制订了如下遴选标准:(1)文献主题应为编程对儿童个体发展的影响研究。“儿童”指的是联合国《儿童权利公约》所界定的18岁以下的每一个人(UNICEF,1989)。因此,纳入文献研究对象年龄范围划定为0~18岁。(2)文献必须是一个实验或准实验研究。其中,单组实验需要有前后测的对照,双组实验必须包含一个在编程环境下教学或学习的实验组,以及与之相对应的其他环境下教学的对照组。(3)文献中应报告足够的数据信息(样本数量、均值)用以计算效应量SMD。依据上述遴选标准,初步筛选的文献中共有28项独立研究符合要求被纳入分析(见表1),纳入的研究中共计产生74个可用于元分析的效应量(其中部分独立研究包括多个效应量)。

图1 文献纳入排除流程图

表1 入选元分析的28项独立研究

3. 特征值编码

在实施元分析前,需对用以分析的研究文献进行特征值编码。不同的研究往往含有不同的特征值,此次研究编码的内容主要包括作者信息、发表年份、实验时间、研究学段、样本规模、实验周期、编程形式以及测试类型等内容,具体编码说明如表2所示。综合来看,各研究的发表年份区间为1984年至2019年,横跨儿童编程教育发展的各个周期。研究涉及儿童(0~18岁)学习的各个学段;实验样本规模在5~260人之间;实验周期短的在1周以内,长的则超过1年;用于实验的编程软件呈现多样化,涵盖早期的LOGO、近期的 Scratch及一些新生编程软件如Alice。此外,不插电编程(Unplugged programming)也是一种较受欢迎的形式。

表2 特征值编码表

4. 元分析框架

依据布鲁姆的教学目标分类原理,本研究将儿童编程对个体发展的作用效果具体划分为认知发展、行为提高、情感培养三个维度。其中,认知发展包括学业成果的获得、知识的迁移、计算思维和数学思维的发展等;行为提高主要涵盖实用层面的技能,例如问题解决能力、分类规划能力、排序能力、协作创新能力的获得等;情感培养涉及学习兴趣、学习动机、学习参与及自我效能感的获得等。与此同时,我们引入编程对儿童个体发展影响的调节变量,即不同学段、不同实验周期、不同编程形式及样本规模对儿童个体发展作用效果的影响,以达到综合评价作用效果的目的(如图2)。

图2 元分析框架

针对现有研究存在的问题,本研究依据研究框架展开元分析,以期回应如下问题:

问题1:整体而言,编程能否真正促进儿童的个体发展?如若编程对于儿童的个体成长起到促进作用,其作用效果的程度是多少?

问题2:具体来看,编程能否促进儿童个体发展中的认知、行为及情感等方面的提升?且对于这三个方面所包含的维度的影响如何?

问题3:从学习者角度来看,不同学段的儿童在编程教育中所获得个体发展的提升是否相同?如有差异,哪个学段的儿童能在编程活动中获得更多发展?

问题4:从实验周期来看,编程周期的长短是否会影响儿童个体发展的作用效果?哪种时长的编程活动能更加显著地促进儿童的个体发展?

问题5:从样本规模来看,不同样本规模是否会影响编程个体发展的作用效果?哪种规模的儿童样本最有利于促进儿童的个体发展?

问题6:从编程形式来看,不同的编程形式对儿童个体发展的作用效果是否有差异?哪种编程产品更有利于促进儿童的个体发展?

5. 数据分析

本研究采用元分析软件Review Manager 5.3(RevMan)作为主要的数据处理与分析工具,将来自不同独立研究的原始数据包括样本数量(N),实验组、对照组前后测的均值(Mean),标准差(SD)录入RevMan软件,进行数据合并计算。首先依据Hedges & Olkin(1985)提出的标准化均差SMD计算方法生成每个样本的效应量(公式1);其次根据漏斗图对样本数据进行发表偏倚检验并使用元分析统计公式2、3进行异质性检验,基于分析结果确定采用何种效应模型;最后依次计算合并后的平均效应量及分组效应量,并对效应量与特征编码进行统计分析,以了解研究特征对效应量的具体影响。

三、研究结果与分析

(一)发表偏倚检验

发表偏倚(Publication Bias)是指由于研究者、审稿人及期刊编辑在筛选发表论文时过于依赖研究结果的方向与强度而导致的偏差(杨扬,沈志超,靳纯桥,2003),导致元分析所纳入的独立研究可能无法系统地代表该领域已完成的研究总体而造成元分析结果存在偏倚(孔博丹,许惠芳,孔博鉴,2014)。因此,为保障元分析结果的科学有效性,需对纳入元分析的独立研究样本进行发表偏倚的评估和检验。本研究使用漏斗图作为发表偏倚检验的依据,其中,横轴表示平均标准差的效应量,纵轴表示效应量的标准误差。如图3所示,大部分纳入元分析的研究样本效应量处于漏斗图中上部的有效区域内,且相对均匀地对称散布于平均效应量的两侧,不存在明显的异常值,由此说明纳入元分析的研究文献发表偏倚现象可能性较小,所得的分析结果可靠性较高。

图3 样本发表偏倚检测漏斗图

(二)异质性检验

研究样本的异质性检验结果显示,Chi2的值为466.11(p<0.001),这表明研究样本之间存在异质性,I2(研究过度分散占总分散的比率)值为84%,表明大约84%的观察变异由效应量的真实差异导致,而仅有16%的变异是由随机误差造成的(见表3)。Higgins et al.(2003)指出,当I2=0%时,表明研究间不存在异质性;当I2<25%时,则认为存在轻度异质性;当25%≤I2≤50%时,则认为存在中度异质性;当I2>50%时将被认为存在高度异质性。本研究异质性检验I2=84%,表明研究存在高度异质性,产生异质性可能是由区域、发表时间、研究对象学段及实验周期的差异等诸多因素导致的。因此,为保证研究的可靠性,此次元分析在整体效应层面进行数据处理时采用随机效应模型(Random Effects Models,REM)消除异质性,并进行效应量合并,效应量的置信区间(CI)为95%。

表3 异质性检验结果

(三)儿童编程赋能思维整体效应检验结果

为考察编程对儿童个体发展的整体影响,计算所得纳入研究的合并效应量SMD为0.61(95% CI,0.47~0.74),合并效应量检验Z=8.76(p<0.001),达到统计显著水平。根据Cohen(1992)提出的效应量统计理论,当效应量为0.2时,表明影响很小;效应量处于0.2~0.5时为中等程度影响;当效应量≥0.8则为显著影响。在本研究中,编程对儿童个体发展的整体影响的合并效应量为SMD=0.61>0.5,这表明编程对儿童的个体发展具有中等偏上的积极正向的促进作用。

本研究主要从三个维度(认知、行为、情感)来衡量编程对儿童个体发展的具体作用。其中,认知层面主要评估编程对儿童学业成果、知识迁移、计算思维及数学思维的作用效果;行为层面主要评估对儿童问题解决能力、分类规划能力、排序能力、协作创新能力的作用效果;而情感层面主要涉及编程对儿童学习兴趣、学习动机、学习参与及自我效能感的作用效果。如表4所示,在认知层面,编程对儿童个体影响的合并效应量是(SMD=0.86,p<0.001),达到统计学意义上的显著水平,表明编程能够显著积极地促进学生的认知发展。其中编程对数学思维(SMD=2.68,p<0.001)的作用效用值超过认知层面的整体水平,表明编程对儿童数学思维的作用效果十分显著。而学业成果(SMD=0.61,p<0.001)、知识迁移(SMD=0.82,p<0.001)和计算思维(SMD=0.50,p<0.001)的作用效应量略低于认知层面的整体水平,说明编程在提高学业成果、知识迁移技能、培养儿童的计算思维方面的作用还有提升空间。在行为层面,编程对儿童个体发展作用的合并效应量为(SMD=0.34,p<0.001),表明编程对儿童的行为发展具有显著的中等作用效果。其中,排序能力(SMD=0.65,p<0.001)作用效果最为显著,其他方面如分类规划(SMD=0.31,p<0.05)、问题解决(SMD=0.25,p<0.05)和协作创新(SMD=0.40,p<0.01)的作用效果也较为明显。在情感层面,编程对儿童个体发展作用的合并效应量为(SMD=0.31,p<0.001),表明编程对于儿童的情感发展具有显著的中等作用效果。其中作用效果最显著的是学习兴趣(SMD=0.51,p<0.01),此外,编程对儿童自我效能感的获得(SMD=0.22,p<0.05)也具有较为显著的中等作用效果。但研究发现,编程对于儿童的学习动机(SMD=0.19,p>0.05)和学习参与(SMD=0.20,p>0.05)的作用效果并不显著,表明编程在这些方面的促进作用还有较大的提升空间。当然,这可能与相关研究设计和研究样本数量不足有关,因此后续还需在这些维度上开展更多的应用研究。

表4 编程对儿童个体发展的作用效果分析

综合认知层面、行为层面和情感层面来看,编程对儿童的认知发展、行为发展和情感发展都具有显著的积极正向作用,且在认知层面的作用效果最为突出。研究结果表明,编程对于儿童个体发展的促进作用是多方面、多层次的,编程不仅可以促进儿童的认知发展,提升学习成果、增强各项思维能力,也能促进儿童的行为发展,增强问题解决等实践性技能。此外,编程还能促进儿童的情感发展,因此,在编程活动中应加强儿童的学习兴趣和自我效能感等情感体验的获得。

如前所述,编程有助于促进儿童个体发展的诸多方面,然而,针对不同的学段、实验规模、样本规模及编程形式,编程对儿童个体发展的促进作用是否存在差异?本研究做了进一步分析。

(四)不同学段对编程个体发展作用效果的差异

从不同学习阶段来看,当前儿童编程在学前、小学以及中学教育中都有相关的研究和应用,但主要聚焦中小学阶段。如表5所示,编程对不同学段学生个体发展的作用效果按照合并效应量大小排列依次是中学(SMD=0.77,p<0.001)、学前(SMD=0.56,p<0.001)及小学(SMD=0.52,p<0.001);合并效应量检验Z=8.76(p<0.001),达到显著水平,表明编程对学前儿童、小学生及中学生的个体发展均具有显著的中等偏上的促进作用。由组间效应检验结果可知,效应量为(Chi2=2.67,p>0.05),可见编程对不同学段学生个体发展的促进作用不存在显著差异。具体来看,编程对中学生个体发展的影响最为显著,而对学前及小学阶段的作用效果相差不大,这可以解释为中学生正处于个体发展的关键时期,不具备较为稳定成熟的能力和习惯,易受学习环境变化的影响;且较学前儿童和小学生而言,他们又具备较为成熟的认知能力,容易接受外来的知识。总体而言,编程对各学段学生的个体发展都存在积极、正向的促进作用,其中对中学生作用效果尤其突出。

表5 不同学段对编程个体发展作用效果的差异

(五)实验周期对编程个体发展作用效果的差异

为考察研究实验周期的长短对儿童个体发展的影响差异,本研究将实验周期划分为三个等级,分别为短期(1个月以内),中期(2~6个月)及长期(超过6个月)。从表6可见,合并效应量检验Z=22.36(p<0.001),达到显著水平,这说明无论实验周期多长,编程对儿童个体发展都具有显著的促进作用。从组间效应量来看,Chi2=24.68,p<0.001,达到统计学显著水平,可见不同长短的编程实验周期对儿童个体发展的影响存在显著差异。由具体效应可知,短期实验的合并效应量最高(SMD=0.43,p<0.001),长期实验次之(SMD=0.26,p<0.001),而中期实验的合并效应量最低(SMD=0.24,p<0.001),由此可知短期的编程实验比中期和长期的编程实验对儿童个体发展的影响更为显著。上述研究结果表明,实验周期的长短会影响到编程对儿童个体发展的作用效果。短期实验个体发展促进效果最为突出,出现这种现象的原因可能是短期实验儿童对编程抱有强烈的好奇心及高涨的热情和激情,学习投入较多,因而作用效果较为突出;而随着实验周期的延长,儿童对编程的熟悉度和适应度越来越好,可能出现倦怠心理,造成儿童的个体发展促进效果没有初始阶段那么显著。

表6 实验周期对编程个体发展作用效果的差异

(六)不同样本规模对编程个体发展作用效果的差异

为考察不同样本规模的编程对儿童个体发展的影响,本研究分别从小(小于50人)、中(50~100人)、大(大于100人)三种规模分析编程对个体发展的促进作用。

由表7可知,小规模、中等规模及大规模样本的个体发展合并效应量均为正值,合并效应量检验Z=21.53(p<0.001),达到显著水平。这说明无论样本规模为多大,编程均对儿童个体发展具有中等偏下程度的积极影响。组间效应量显示Chi2=23.53,p<0.001,达到显著水平,表明编程对大、中、小规模样本学生个体发展的影响存在显著差异。从具体效应量来看,小规模的合并效应量(SMD=0.41,p<0.001)高于中等规模(SMD=0.37,p<0.001)且高于大规模的合并效应量(SMD=0.17,p<0.001),这说明小规模编程活动比中等规模和大规模的编程活动对儿童个体发展的影响更为显著。而且,样本规模与作用效果二者间存在负相关,随着样本规模的增大,作用效果逐渐降低,此项研究发现可为后续编程活动的设计与开展提供借鉴参考。

表7 不同样本规模对编程个体发展作用效果的差异

(七)不同编程形式对编程个体发展作用效果的差异

当前,儿童编程产品市场呈现百家争鸣的景象。多样的编程产品在编程教育中被研究和应用。作为最早的儿童编程语言——LOGO经过时代的转化,在当今焕发出了不同的生命活力。在现有研究中,LOGO语言和Scratch被广泛使用,同时,不插电编程也逐渐成为低龄儿童群体极受欢迎的形式。此外,随着技术的发展,逐渐衍生出众多新型的编程形式,例如Alice、Code.org等。为了评估编程产品对儿童个体发展的影响,本研究分别分析了不同编程形式对个体发展的促进作用。

如表8所示,合并效应量检验Z=25.76(p<0.001),达到显著水平,表明不同的编程形式对儿童的个体发展均具有显著的积极效应。从组间效应量来看,Chi2=32.72,p<0.001,达到显著水平,表明不同的编程形式在促进儿童个体发展的作用上存在显著差异。其中,不插电编程的合并效应量最高(SMD=1.47,p<0.001),其次为LOGO编程(SMD=0.78,p<0.05)和其他编程形式(SMD=0.41,p<0.001),而Scratch的合并效应量最低(SMD=0.23,p<0.001),这表明不插电编程在促进儿童个体发展方面显著优于其他编程形式,但这并不排除是由几种编程形式的使用群体间的差异所造成的。

表8 不同编程形式对编程个体发展作用效果的差异

四、研究结论与启示

(一)研究结论

本研究通过元分析方法对28项关于编程对儿童个体发展影响的实验或准实验研究进行了整体性的梳理与分析,并且依据元分析结果对编程的个体发展促进作用进行了客观分析与评估。在分析整体作用效果的基础之上,又将作用效果具体划分为认知、行为、情感三个层面,并通过引入学段、实验周期、样本规模及编程形式作为调节变量分析讨论编程对儿童个体发展的作用效果及其差异。

1. 编程对儿童的个体发展具有正向促进作用,显著体现在认知、行为及情感三个层面

元分析结果显示,编程对儿童个体发展的合并效应量为0.61,处于中等偏上水平,表明编程可以积极正向地促进儿童的个体发展。具体来看,编程能显著地促进学生认知发展(SMD=0.86)中的学业成果、知识迁移、计算思维及数学思维;且对于儿童的行为发展也具有显著的中等作用效果(SMD=0.34),有助于培养儿童问题解决能力、分类规划能力、排序能力及协作创新能力;编程对于儿童的情感发展具有显著的中等作用效果(SMD=0.31),主要体现在儿童学习兴趣及自我效能感的获得。数据表明,编程不仅可以提升儿童的编程技能和计算机科学知识,还可以提升儿童的其他技能和素养,以实现儿童的个体发展。这与Popat et al.(2019)开发的描述主题总体模型显示研究结果一致,即学生在学习编程的过程中可以学习或实践一系列其他教育成果,例如数学问题解决、批判性思维、社会技能、自我管理和学术技能等。无独有偶,Nouri et al.(2020)指出,编程不仅能使儿童掌握编程概念,而且还可以让他们获得计算思维数字能力及21世纪技能的发展。上述研究结果集中体现了儿童编程的创立图景。从西蒙·派珀特(Seymour Papert)LOGO的创立,倡导“要让儿童成为计算机的主人,利用计算机改变他们学习其他知识的方式”(Papert,1980),到米切尔·雷斯尼克(Mitchel Resnick)的Scratch打造的“4P”学习法,即由项目(Project)切入,从热情(Passion)出发,同伴(Peers)协作互助,游戏(Play)启动内驱,通过创造性学习螺旋的多次迭代培养儿童创造性的思考、系统的推理及协作的能力(Resnick,1998),再到玛蒂娜·U·贝斯(Marina U. Bers)的ScratchJr所主张的“编码和其他任何语言一样,可以用来表达自己的概念、技能和思维习惯,帮助我们用新的方式思考和交流”(Bers,Gonzalez-Gonzalez,&Torres,2019),无不展现出儿童编程的强大教育作用。

2. 编程对儿童个体发展的促进作用受学段、实验周期、样本规模及编程形式等调节变量的影响

调节变量效应检验结果表明,编程对儿童个体发展的作用效果存在边界条件,主要受不同的学段、实验周期、样本规模及编程形式的影响。从学段来看,编程对学前儿童、小学生及中学生的个体发展均具有显著的促进作用。其中,编程对中学生个体发展的作用效果最为显著(SMD=0.77),而在学前(SMD=0.56)及小学(SMD=0.52)阶段编程的影响效果相差不大;组间效应检验结果显示,编程对不同学段儿童的个体发展的促进作用不存在显著差异。在实验周期方面,不同周期的编程活动对儿童个体发展都具有中等偏下程度的促进作用,但不同长短的编程实验周期对儿童个体发展的影响存在显著差异,且短期实验周期(SMD=0.43)的作用效果更为显著。从样本规模来看,编程对不同规模样本学生个体发展的影响存在显著差异。相较于中等规模(SMD=0.37)和大规模(SMD=0.17),编程在小规模样本(SMD=0.41)中的作用效果更为显著。在编程形式方面,合并效应量检验达到显著水平,表明不同编程形式对儿童的个体发展均具有显著的积极效应,且组间效应量表明不同的编程形式在促进儿童个体发展的作用上存在显著差异。其中,不插电编程(SMD=1.47)在促进儿童个体发展方面要显著优于LOGO编程(SMD=0.78)、其他编程形式(SMD=0.41)及Scratch编程(SMD=0.23)。

(二)研究启示

综合来看,元分析结果肯定了编程对儿童成长的重要性及其对个体发展的积极促进作用。但通过研究结果也可以看出,编程教育在面对不同的学习者及学习情境时,会呈现不同的作用效果。因此编程教学实践不能盲目开展,而应根据教学系统各要素的不同特征,进行科学合理的设计与规划。

1. 编程对儿童个体发展的作用效果还有较大提升空间

虽编程在一定程度上可以积极促进儿童的个体发展,但这与儿童编程的创立图景及政府部门所提出的推动信息化进程、加快信息革命、实现教育现代化的愿景仍有一定距离。研究表明,编程对儿童的学习动机和学习参与的作用效果并不显著,且其对于儿童分类规划、问题解决及协作创新等方面的作用效果也均未达到整体影响水平。面向未来的教育需要最大可能地将人工智能(如编程)与人类的社交和情感技能、态度和价值观结合起来(施莱希尔,2020)。因此,在进行编程教育推广实践时,教育者应清楚地认识到,教授编码是编程教育的一个重要任务,但编程的教育价值远比编码广泛得多,因此在教学过程中既应发挥编程课程的主体性能,培养儿童的编程能力;又应注重编程对教育的赋能价值,关注其对于儿童个体综合发展的促进作用,通过设计科学合理的教学方案保障编程赋能作用的发挥。此外,政府部门也需继续推动各项相关政策的合理制定与贯彻实施,以确保儿童编程教育真为儿童发展“谋福利”。未来还需政府、学校、社会多方面联动协调,逐步增强编程对儿童个体发展的促进效果和影响水平。

2. 加速推广编程在中小学中的应用,积极推进编程教育学段下移

前述研究数据显示,当前编程在中小学阶段开展较多,且作用效果较为显著,基于此,本研究建议应加速推广编程在中小学教育中的应用。全国各地中小学都应积极开展“编程教育进校园”活动,不仅增设独立的编程课程,更应将其作为一种教学或学习的方式融入中小学各门学科之中。同时,通过政策制度把关儿童编程教师的行业准入标准,及通过相关培训不断提升教师的编程教学技能。此外,研究还发现学前教育阶段的编程教育研究成果较少,因此,在后续研究中,应积极推进在学前教育阶段开展编程教育实践活动,为编程能否促进学前阶段儿童的个体发展提供充分而强有力的证据。贝斯一直强调,年龄较小的儿童也具备学习编程的能力(Bers,Gonzalez-Gonzalez,& Torres,2019),而皮亚杰(1981)在其S(A)R的公式中,也指出一个个体要想对刺激做出反应,首先需要具有同化这个刺激的格局。因此,“编程要从娃娃抓起”,实现编程教育的“幼小初高”基础教育阶段的无缝衔接,目的并非是为了培养一批未来的“码农”“程序员”,而是为了使儿童尽快地适应未来的人工智能社会,在编程中发展自我、成就自我,成为数字产品的生产者而不仅仅是消费者,赋予每一个儿童“改变世界”的可能。

3. 寻找编程对儿童个体发展促进作用持续性的平衡点

实验周期的差异检验结果表明,编程对儿童个体发展的作用受实验周期的影响,短期实验的作用效果最为显著,远高于中期实验与长期实验。而编程对儿童个体发展的作用效果随着实验周期的延长出现逐渐降低的情况,足以表明编程对儿童个体发展促进作用的持续性不足,无法发挥持久稳定的作用。编程是一个试误的过程,随着学习时间的延长,知识的不断深入,学生极有可能产生倦怠心理,进而导致编程作用效果降低。因此,编程对儿童个体发展促进作用的持续性需进一步加强,这个过程离不开各方面的支持与辅助。一方面,教师应给予适当鼓励和支持,赋予儿童继续学习的动力;另一方面,通过设计个性化、多样化趣味合理的教学活动,不断激发学生的求知欲,寻求儿童的认知因素和动机因素调整的最佳水平,寻找编程学习时长和个体发展作用效果的平衡点,进而增进编程对个体发展作用的持续性,实现最佳的编程教育效果。

4. 贯彻落实国家政策,聚焦编程课堂的小班制情境

编程对不同规模样本学生的个体发展的影响存在显著差异,编程活动在小规模样本实践中对儿童个体发展的作用效果更为显著,且样本规模与作用效果间存在负相关,即随着样本规模的增大,作用效果逐渐下降。因此,为保障编程教育的作用效果,编程教学情境应聚焦小班教学,班容量最好控制在50人以下。中华人民共和国教育部(2010)《关于“十二五”期间加强学校基本建设规划的意见》对初中段、小学段具体招生办法做了详细规定,明确继续严格控制班容量,原则上普通中学每班学生45~50人,城市小学40~45人。但由于我国儿童人口数量众多,小班制的教育形式在一些欠发达地区仍难以实现,为此政府需加强监管,出台相应的政策支持薄弱地区的教育发展建设,进行合理的资源与师资分配。只有这样,教师才能有更充沛的精力和时间关注每个儿童的学习情况,采取因材施教的方式制定个性化的学习方案,设计科学合理的个性化编程教学活动促进学生的个体发展。

5. 遵循儿童认知发展规律,选择与之匹配的编程形式

虽然不同的编程形式对儿童的个体发展均具有显著的积极作用,但不同的编程形式在促进儿童个体发展的作用上仍存在显著差异。其中,不插电编程的作用效果最为突出,其次为LOGO编程和其他编程形式,而Scratch的作用效果最低。不同的编程形式具有不同的特点,因此,在开展编程教学活动时,应遵循儿童的认知发展规律,结合教育情境的特征,选择与之匹配的编程形式,并通过编订合理的编程教材以及设计科学的教学活动,在最大程度上促进学生个体发展的作用效果。此外,同一种编程形式在不同科目中会有不同的表现,Moreno-León et al.(2016)在研究中发现,计算机编程的使用加速了儿童的学习曲线,但在社会科课堂中的影响大小是数理科课堂中的两倍。因此,在将编程与其他学科结合开展时,也应依据学科特点选择适合的编程形式。

五、结语

本研究借鉴相关研究者有益的经验和做法,采用较为科学且行之有效的元分析方法,客观评估了编程对儿童个体发展的作用效果及影响,并通过对已有研究的综合梳理分析,得出编程对儿童个体发展的总体影响的合并效应量,采用量化数据结果试图解释编程对儿童个体发展的积极、正向的促进作用,进而对当前学术界有争议的话题“编程能否真正促进儿童的个体发展”做出回应。同时,本研究针对不同的学段、实验周期、样本规模及编程形式对编程个体发展促进作用的差异做了进一步探究分析,有效回答了“哪些因素会影响编程对儿童个体发展的促进作用”这一问题。本研究结果是在广泛收集具备代表性样本文献的基础上加以量化分析得出的,具有一定的可靠性和有效性。但由于元分析方法自身仍存在一些局限性,得到的研究结论属于推断性结论而并非析因性结论,因此在研究结果的推广方面还需谨慎。

猜你喜欢

编程效应个体
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
关注个体防护装备
明确“因材施教” 促进个体发展
死海效应
应变效应及其应用
How Cats See the World
偶像效应