韩雪婧 汪基德 王孝培
(河南大学 河南省教育信息化发展研究中心,河南 开封 475004)
人工智能时代,编程教育作为培养学生逻辑思维、计算思维的重要途径,成为新时代教育变革的“助推器”。国务院印发的《新一代人工智能发展规划》提出,在中小学阶段设置人工智能相关课程,逐步推广编程教育,这说明中小学编程教育已上升到国家发展的战略层面。近年来,编程教育引起社会各界的广泛关注,不仅是因为技术的发展,更重要的是编程教育能够培养学生解决问题能力、创造性思维等被视为应对21世纪挑战的必备技能。可以说,中小学编程教育的重要价值已得到各界的普遍共识。
梳理已有文献发现,目前针对中小学编程教育能否有助于提升学生学习效果这一核心问题,学界尚无统一结论。有研究者发现,中小学编程教育对于提升学生编程学习效果有显著的积极影响[1][2];
也有研究者发现,开展中小学编程教育对于提升学生的编程学习效果无显著的积极影响[3][4]。当前,已有的元分析研究主要以儿童(0~18岁)和在校学生(不包括硕/博研究生和成人教育学生)为对象进行探究,尚未有研究以中小学生为研究对象。基于此,本研究采用元分析方法,尝试针对中小学编程教育能否有助于提升学生学习效果这一问题进行分析探讨,以期为我国中小学编程教育提供些许指导,为进一步促进编程教育发展贡献力量。其中,主要回答以下问题:(1)中小学编程教育对学生编程学习效果有何影响?(2)不同调节变量(即编程工具、编程形式、学段、实验周期和评价工具)对中小学生编程学习效果有何影响?
(一)文献选取
本研究借助国内外文献数据库检索2010—2021年编程教育相关的文献。中文文献通过中国知网(CNKI)进行检索,关键词限定为“编程”“机器人”“计算思维”并含“实验研究”“准实验研究”“实证研究”;
外文文献通过Web of Science核心合集进行检索,进行关键词限定。随后,将检索得到的文献条目保存于文献管理软件中,以便进一步剔除和筛选。
为确保研究结果的准确性和有效性,剔除重复性以及与主题不符的文献后,对文献展开进一步筛选。标准如下:(1)研究主题要与编程教育相关,且探讨的内容是编程对学生学习效果的影响;
(2)研究对象为中小学生;
(3)研究必须遵循实验或准实验设计;
(4)研究必须呈现实验组和对照组的样本量、均值、标准差,或是统计检验的p值、t值等结果数据;
(5)研究必须为期刊论文,排除会议论文、学位论文。基于以上的文献筛选工作,最终共有36篇文献满足元分析标准,其中国外33篇,国内3篇,全部样本文献共包含68个效应值(部分文献包含多个效应值)。
(二)文献编码
为便于后期数据的统计与分析,本文从所纳入的文献中提取了有关研究的作者、发表年份、样本量等关键信息,并对编程工具、编程形式、学段、实验周期、评价工具等调节变量进行编码,以综合剖析编程教育如何影响中小学生的学习效果。其中,编程工具被编码为文本编程、图形编程、实体编程、混合编程(即使用两种及以上编程工具);
编程形式被分为独立编程和协作编程;
根据研究对象所在年级,将学段划分为小学、初中、高中三个阶段;
根据实验研究的持续周期,将实验周期分为0~4周、5~12周、13~20周、21周及以上;
评价工具被编码为量表、测试题和编程任务。
(三)分析方法和工具
本研究借助元分析方法,采用平均标准差d作为效应值。研究工具选择CMA 2.0元分析软件,通过输入各研究样本的实验数据,如样本量、均值、标准差等,自动计算生成每个样本的效应值,并据此进行显著性差异分析。
(一)发表偏倚与异质性检验
为检验所纳入的样本是否存在发表偏倚,须对元分析结果进行偏倚检验。本研究结合漏斗图和Egger’s检验对发表偏倚进行综合评估。从漏斗图中可以发现(如图1所示),大部分效应值都落在漏斗图的中部和上部有效区域,且较为对称地散布在平均效应值的两侧,说明存在发表偏倚的可能性很小。此外,Egger’s检验结果显示,Z=1.19<1.96,p=0.24>0.05,进一步表明所采集的文献样本不存在发表偏倚,数据分析结果可靠性较高。
图1 发表偏倚检测之漏斗图
异质性检验是为了评价所纳入的独立样本的效应值是否具有可合并性[5]。通常采用Q检验和I2检验进行判断。结果显示,Q=312.485,p=0.000<0.05,I2=78.559%>50%,说明本研究存在较高的异质性,因此,为消除研究间的异质性,应采用随机效应模型对效应值进行分析。
(二)中小学编程教育对学生学习效果的整体影响
从中小学编程教育对学生学习效果的整体影响(见表1)可以发现,随机效应模型的合并效应值为0.505,且达到了统计意义上的显著水平(p<0.001)。根据效应值划分标准,若效应值d在0.2左右,认为影响程度较小;
效应值d在0.5左右,认为影响程度处于中等水平;
当效应值d>=0.8,认为影响程度较高[6]。由此可见,编程教育对中小学生的学习效果具有中等水平的显著影响。这一结果说明,整体而言,在中小学开展编程教育对于学生学习有正向的促进作用,即一定程度上可以较好地促进学生的编程相关能力的提升。
表1 编程教育对学生学习效果的整体影响
(三)中小学编程教育对学生学习效果的具体影响
罗尼·谢勒(Ronny Scherer)等在总结梳理前人研究成果的基础上,提出了中小学编程教育中所测量的认知能力类型[7]。基于此,结合对所提取原始文献数据的梳理,本研究将编程教育的学习效果划分为认知层面(包括计算思维、编程能力、推理能力、创造性思维以及数学能力等)和非认知层面(包括编程动机、编程态度、编程兴趣、自我效能感等)两个维度。
从表2中可以看出,中小学编程教育对学生认知能力发展影响的合并效应值为0.479,达到了显著性影响水平(p<0.001)。其中,对学生编程能力(d=0.561,p<0.001)和计算思维(d=0.548,p<0.001)均具有中等程度影响,且达到统计显著水平。这说明编程教育能较好地促进学生的认知发展,尤其有利于培养学生编程能力和计算思维。此外,中小学编程教育对学生推理能力影响的效应值为0.374,p<0.05,表明编程教育对于发展学生的推理能力有一定的促进作用,但影响水平较低。而在创造性思维和数学能力方面,编程教育表现出较小的影响水平,且不具有统计学意义。
表2 编程教育对不同学习效果的影响效果
表2中还显示,中小学编程教育对学生非认知能力影响的合并效应值为0.580,达到了统计显著水平(p<0.001)。其中,编程兴趣(d=1.018,p<0.001)与自我效能感(d=0.607,p<0.001)均具有较高程度的显著影响,说明编程教育可以激发中小学生的编程兴趣,增强学生对于完成编程学习活动的自我效能感。此外,编程态度的效应值为0.442,且达到统计显著水平(p<0.001),说明编程教育对于中小学生编程态度具有中等偏下的促进作用。在编程动机方面,影响效果(d=0.242,p>0.05)较低且未达到显著性水平。
(四)调节变量对中小学生编程学习效果的影响
1.编程工具对中小学生编程学习效果的影响
不同编程工具对学生编程学习的影响效果存在一定差异,如表3(见下页)所示。文本编程的效应值为0.441,达到了统计显著水平(p<0.001)。说明文本编程的应用对中小学生的编程学习有一定的积极作用,但影响水平处于中等偏下。此外,图形编程(d=0.583,p<0.001)和实体编程(d=0.525,p<0.001)均具有中等程度的正向影响,说明采用图形编程和实体编程能够较好地促进学生编程学习。然而,混合编程的效应值为0.212,p=0.067>0.05。这表明混合编程的使用对中小学生编程学习的提升效果较低,且不具有统计学意义。
表3 不同调节变量对中小学生编程学习效果影响的效应检验
2.编程形式对中小学生编程学习效果的影响
在编程教育中,编程形式对中小学生学习效果也存在不同影响。从表3中可以看出,协作编程活动(d=0.585,p<0.001)具有中等的正向影响,且达到了统计显著水平。这说明协作编程形式能够有效地促进学生编程学习。相较而言,独立编程(d=0.459,p<0.001)对学习效果具有中等偏下的影响水平,表明独立编程形式对于提升学习效果还有一定的发展空间。
3.学段对中小学生编程学习效果的影响
由表3可知,按效应值大小依次是初中(d=0.682,p<0.001)、小学(d=0.502,p<0.001)、高中(d=0.364,p<0.001)。可以看出,初中和小学阶段的效应值均在0.5~0.8之间,说明编程教育对小学生和初中生的学习均具有中等偏上的促进作用,尤其有利于促进初中生的编程学习。在高中阶段开展编程教育的效应值在0.3~0.5之间,且达到统计上的显著水平。说明编程对高中生学习有一定的正向作用,但影响效果偏低。
4.实验周期对中小学生编程学习效果的影响
编程教学的实验周期对学习效果的影响有所不同。从表3中可知,实验周期在13~20周的效应值最高(d=0.721,p<0.001),这说明在该实验周期内,编程教育对中小学生学习效果具有较高的促进作用。实验周期在0~4周(d=0.466,p<0.001)和5~12周(d=0.441,p<0.001)的效应值在0.3~0.5之间,且达到统计上的显著水平。这表明,在上述实验周期内编程教育对学生学习具有一定的积极影响,但作用效果偏低,仍有较大的提升空间。而实验周期在21周及以上的研究效应值为d=0.415,p=0.073>0.05,表明编程教育对中小学生学习效果的影响较低,且不具有统计学意义。
5.评价工具对中小学生编程学习效果的影响
不同的编程学习效果可以通过不同的评价工具来测量。从表3中可知,量表(d=0.594,p<0.001)的效应值略高于测试题(d=0.456,p<0.001),说明使用量表测量对中小学生编程学习效果具有中等程度的显著影响,而采用测试题测量具有中等偏下程度的促进作用。然而,编程任务的效应值为0.325,且p=0.397>0.05,说明这一评价工具对于中小学生编程学习效果的影响偏低,且未达到统计学意义上的显著水平。
(一)中小学编程教育对学习效果具有积极的正向影响
根据元分析结果可知,在中小学阶段开展编程教育有利于提升学生学习效果,促进其编程相关能力的提升。编程不仅包括设计、编码、调试等环节,重要的是涉及解决计算问题的复杂任务。在此过程中,编程可以作为学生表达想法与创意的思维工具,既有利于培养其编程能力与计算思维,也有助于发展其高阶思维技能[8]。然而,编程教育对创造性思维和数学成就没有显著影响,这可能受编程工具、教学内容、活动设计等因素影响[9],后续可围绕编程教育对创造力与数学学习展开探索。在非认知层面,编程教育能够提升学习者的自我效能感,其可能原因在于编程自我效能感与计算思维存在显著正相关系。此外,采用合适的编程教学模式,可以提高中小学生编程兴趣,改善学生的编程态度[10]。然而,编程教育对编程动机不存在显著影响,这可能与先前知识、持续投入等因素相关,因而仍需探索提升编程动机的策略与方法。
(二)相关调节变量的效应
在编程工具方面,相较于文本编程,图形编程与实体编程均对中小学生学习效果产生中等偏上程度的影响。实体编程主要通过实物模拟现实困境,锻炼儿童发现问题、分析问题和解决问题的能力,具有操作简单、实体化呈现、无屏幕等特征,是培养儿童计算思维的重要载体。相较于文本编程,图形编程在降低中小学生认知负荷和提升学习兴趣等方面具有显著优势,并有益于发展和培养学生计算思维能力,帮助学生完成更为复杂的创意编程作品[11]。另外,混合编程对学习效果的影响不显著,这可能是整合多种编程工具增加了中小学生认知负荷所造成的,因而还需要进一步探索。
在编程形式方面,与独立编程相比,协作编程对学习效果具有更高的影响效应。有研究发现,协作编程比独立编程更有益于培养中小学生的计算思维能力[12]。从编程过程与编程作品质量看,协作编程是一种比独立编程更有效的教学策略。此外,相关研究也指出,同伴支持与协作问题解决在促进学生编程学习效果方面具有重要作用,尤其是发展学生计算思维方面[13]。可以说,作为一种有益的编程形式,协作编程应被广泛应用于中小学教学实践中,以增强中小学生编程学习质量。
在学段方面,编程教育在初中阶段和小学阶段具有较高程度的影响。这是因为编程教育有益于激发学生的学习兴趣与创造力。在学习编程过程中,结构化思维的训练有利于儿童发现问题,为学生探索问题提供了灵活而宽松的环境;
程序化思维的训练则有益于儿童采用启发式策略解决问题,并且可以迁移到不同领域;
而不断“调试”的编程经历,让学生正视学习过程中的错误,并不断调整和纠正错误[14]。这些优势足以充分调动儿童身体与情感参与,是吸引中小学生投入编程学习的重要力量。
在实验周期方面,13~20周的编程教育能最大限度提升学生学习效果。然而,21周及以上的编程教育对学生学习效果的影响逐渐减弱,且不存在统计显著水平。这说明编程教育周期过长,会削弱编程教育实践的有效性。这一结果在教育技术研究中并不少见。有研究发现,实验周期超过1个月的编程教育对学生计算思维能力的影响不如1周至1个月的编程教育有效[15]。出现此类现象可能是实验干预的新奇刺激效应产生的结果。若干预时间设定在一个相对较短的时间内,由于干预的新奇刺激效应激起了学生的好奇心与兴趣,实验效果自然较好;
若实验周期过长,新奇刺激效应消失,学生学习的兴趣与动机减退,使实验的效果受到影响。
在评价工具上,量表对学生的编程学习结果具有中等偏上的影响,而测试题对编程学习具有中等偏下的影响。这说明,不同测评工具的应用对编程学习的影响程度不同。其中,量表对编程学习结果的影响程度较高,这可能是量表作为操作简单和便于实施的评价工具,被广泛应用于编程学习评估中。由于教学目的、活动方式和学习内容的不同,编程学习测评也会采用多种方式。有研究采用“康奈尔条件推理测验”“学习动机策略问卷”和“数学评估测试”,对高中生参与编程学习的推理能力、自我效能和问题解决能力进行测评[16]。
(一)以中小学人工智能教育为抓手,创新编程教育实践
鉴于中小学编程教育对提升学生编程能力、计算思维、学习兴趣、自我效能等认知与非认知层面的积极影响,本研究建议加快推进中小学编程教育实践。具体而言,借助我国推进中小学人工智能教育课程建设优势,整合编程教育与人工智能课程理念,充分融合并加以深化。尽管教育部门出台了编程教育相关的政策举措,但中小学编程教育的落地生根离不开各科教师的课堂行动。一方面,强化在职教师编程教育培训与指导,提升在职教师编程教育能力;
另一方面,推进师范生课程教学改革,强化师范生编程教育内容与技能的学习。此外,各地中小学校应积极推进并鼓励教师开展跨学科整合的编程教育,让学生体验跨领域知识和编程在解决现实世界中复杂问题的作用。比如,结合编程教育与数学学科特点,大力探索跨学科教学模式,创新中小学编程教育实践。
(二)合理选用编程工具,积极开展协作编程教育
由于图形编程与实体编程均有较好的应用效果,而协作编程的促进作用要高于独立编程。本研究建议根据学习者特征和教学内容合理选用编程工具,积极开展协作编程教育。根据皮亚杰认知发展阶段论,中小学生的认知发展主要处于具体运算阶段与形式运算阶段。处于具体运算阶段的学生需要借助具体事物进行思维,而处于形式运算阶段的学生可以不依赖具体事物进行语言假设的推论。因而,小学阶段可以选用实体编程开展教学活动,初中阶段可以结合实体编程与图形编程,而高中阶段可以尝试文本编程。然而,中小学校还需考虑地区教育水平、师资现状、经费投入等条件,综合评估以合理选用编程工具。另外,根据教学内容与活动特点,一线教师应将协作编程合理应用于编程教育设计中。通过整合编程任务与学习内容,最大限度发挥协作编程对学生学习的促进作用。
(三)因地制宜,灵活开设编程课程
由于编程教育对初中和小学阶段的学习影响较高,实验周期在13~20周能达到最佳学习效果。因此,本研究建议各区域学校因地制宜,灵活开设编程课程。具体而言,根据各学校实际现状,在教学编排上优先在初中阶段开设编程课程,并依据教学条件在小学阶段推进编程教育,而在高中阶段因地制宜开展编程学习活动。教师需充分考虑学生的认知能力和思维水平的差异,为学生提供合适的编程材料。由于编程实验周期持续过长或过短,均不利于发挥编程教育优势,建议中小学开展编程教育的周期可设置为3~4个月,同时要综合考虑任务难度、学习兴趣等因素,提高编程教育设计的可持续性,以保障和促进中小学生编程学习质量。
(四)开发多元评价方式和工具,综合评估编程教育质量
从编程评价工具的元分析结果来看,研究所选用的不同类型的评价工具会影响学生编程学习效果。由于教学目的、教学内容和学习策略的差异,编程实践过程也会有所不同,单独使用任何测量工具都可能导致对学生编程学习结果的理解出现偏差。因此,本研究建议发展多元评价方式,综合评估编程教育质量。根据学段特征、学习内容、教学策略等因素,教师应综合考虑和选择多种评价方式和工具。另外,由于编程教育目标的侧重点不同,教师需加强对编程学习过程与学习结果的综合评估。
猜你喜欢学习效果编程工具疫情期间线上学习效果评价分析中国教育信息化·高教职教(2022年4期)2022-05-13“百词斩”对于大学英语四级词汇学习效果的实证研究民族文汇(2022年14期)2022-05-10基于学习性评价原则提高研究性学习效果的研究课程教育研究(2021年10期)2021-04-13编程,是一种态度少先队活动(2021年2期)2021-03-29元征X-431实测:奔驰发动机编程汽车维修与保养(2021年8期)2021-02-16波比的工具小太阳画报(2020年11期)2020-12-10波比的工具小太阳画报(2020年10期)2020-10-30编程小能手学生天地(2020年17期)2020-08-25纺织机上诞生的编程数学大王·低年级(2020年3期)2020-03-12莲心宝宝有话说作文大王·笑话大王(2019年8期)2019-09-09