不同结对编程策略对小学生学习效果影响的比较研究

2024-04-25 18:52王旭卿黄琼梅
现代基础教育研究 2024年1期

王旭卿 黄琼梅

摘   要: 结对编程是一种以协作方式学习编程的教学策略,该研究将结对编程与单独编程相结合,构成混合结对编程策略,采用准实验研究法,从编程总评成绩、结对融洽度、结对互动话语等方面,探究混合结对编程和常规结对编程两种策略对小学生学习编程效果影响的差异。实验结果表明,混合结对编程策略能够增进结对伙伴之间的融洽度,促进学生之间的积极互动,提高小学生的编程能力。教师应正确认识结对编程与单独编程的价值,通过组合应用,提高编程教学实效。

关键词: 混合结对编程策略;常规结对编程策略;结对融洽度;结对互动

2017年,国务院发布《新一代人工智能发展规划》,指出“在中小学阶段开设人工智能相关课程,逐步推广编程教育”1。《义务教育阶段信息科技课程标准(2022年版)》提出了科学原理和实践应用并重的课程内容体系2,而编程学习是落实“科”与“技”并重理念的重要载体。结对编程(Pair Programming)作为一种编程教学策略,已被应用于中小学编程教学实践中,它是指两个人协作解决编程问题,其中“驾驶员”负责编写代码,“导航员”负责审查代码,在结对过程中每隔一段时间交换角色。已有研究结果表明,结对编程在提高学生对编程概念的理解、促进同伴之间的知识共享等方面有积极的作用3,但是这种特殊的合作学习方式对同伴之间的编程能力匹配度、结对伙伴的合作意愿有一定要求。45 为了改进结对编程策略、提升编程教学效果,有必要开展更扎实的实证研究,为一线教师开展有效的结对编程教学实践提供参考。

一、问题的提出

与单独编程相比,结对编程具有许多独特的优势:一是它可以显著提高学生的编程能力1,结对完成任务的时间更短、质量更高;2 二是它可以提高学生完成编程任务的信心,降低学生的认知负荷,激发学生学习编程的兴趣,减少学习者的沮丧感;3 三是它能促进学生之间的沟通交流和知识分享,提高学生的协作学习能力和问题解决能力。4

为了改进结对编程的实施策略,一些研究人员提出了许多结对编程的变体形式,来弥补常规结对编程策略(即教学过程中全程使用结对编程)的不足。结对编程变体形式的共同点是将单独编程与结对编程相结合。已有研究表明,单独编程的过程有利于提高个人的编程技能和增加学习的乐趣5,而结对过程使学生参与到与同伴对话,有助于概念发展6,并且在同伴对话中进行学习更符合学生现有的理解。7 由此可见,结对编程变体形式具有独特的优势。不过相关的实证研究较少,有必要对改进常规结对编程策略的教学实践开展研究,验证其有效性。

本研究重点关注混合结对编程(Hybrid Pair Programming)策略,即在结对编程的基础上增加单独编程8,采用准实验研究方法,对比分析混合结对编程策略和常规结对编程策略对小学生学习编程效果影响的差异,将从编程总评成绩、结对融洽度、结对互动话语和对不同结对编程策略的态度四个方面来评价。此外,还探究了结对积极互动、结对融洽度与编程成绩之间的关系。

二、研究设计

1.研究对象

2020年秋季学期,研究者开展为期一个学期的“掌控板进阶课程”教学实验。教学实验的对象是上海市某小学五年级自愿参加本课程学习的40名学生。其中,采用常规结对编程策略教学的对照班人数共20人;采用混合结对编程策略教学的实验班人数共20人。这两个班学生在2021年春季学期都已学习了“Mind+掌控板”的基础课程9,为了确保两个班级实验对象的知识储备处于同一水平,以保证后期数据的有效性,研究者在课程教学开始前进行了前测,结果显示:Sig=0.911,p>0.05,說明两个班级的前测成绩没有显著差异,可以判定两个班“Mind+掌控板”学习基础基本一致,可以进行教学实验。

在教学过程中,研究者把学生完成的编程任务划分为基础任务和进阶任务,对照班学生在完成基础和进阶任务时,都开展结对编程;而实验班在完成基础任务时,学生进行单独编程,完成进阶任务时,学生开展结对编程。

2.研究工具

(1)课后综合测试试卷

学生的编程总评成绩由学生结对完成的进阶任务编程作品成绩和学生单独完成的课后综合测试成绩两部分组成,分别占40%和60%,以此衡量每位学生的编程能力。每个进阶任务编程作品将由教师和研究者共同打分,最终确定编程作品成绩。课后综合测试试卷由研究者和教师根据课程内容和学生平时的知识掌握程度共同商议制订,它包括10道选择题和3道上机编程题(画三角形、利用声音传感器实现吹墨画和使用PYTHON1 触摸按键实现划船比赛游戏),用来检测学生的编程能力。

(2)结对融洽度问卷

结对融洽度(Pair Compatibility)问卷主要用于调查学生在结对相处过程中的融洽程度。问卷包含4个思考问题,还有1个全面的整体评价问题,如表1所示。4个思考问题采用三点量表,包括:一直(3)、偶尔(2)、从不(1)。整体评价问题是:非常配合(3)、一般(2)、不配合(1)。这份问卷的信度系数为0.8。2

(3)结对互动表现编码方案

结对互动(Pair Interaction)是指学生在结对过程中,结对同伴之间发生的一切相互作用与影响,例如交流、冲突或分歧,最终导致互动双方行为或认知改变的过程。为了对两个班级学生结对编程的互动过程进行更细致的分析,研究者采用录音方式,在学生完成每个进阶任务时,从实验班和对照班各随机选择三个结对小组,录制结对同伴之间的谈话内容,获得学生在结对过程中互动交流的话语数据。根据结对互动表现编码方案(见表2)对结对互动交流的话语数据进行互动类型编码,发现结对互动表现分为积极互动、中性互动和消极互动三种类型。对于比较模糊的互动表现,研究者与教师共同讨论,并结合研究者在教学中观察和记录的结对观察记录表判断学生的结对互动类型。

(4)对不同结对编程策略看法的访谈问题

在课程结束前,研究者通过面对面访谈,了解学生对不同结对编程策略的态度。访谈内容主要围绕结对编程的效果和结对编程过程中的同伴互动。访谈一共包括6个主要问题,见表3。

3.教学实施

本研究“掌控板进阶课程”教学实验一共持续14周,两个班级每周1个课时,每个课时的时长为1小时。教学内容是以Mind+图形化编程平台为编程工具的掌控板进阶编程知识与技能,学生需要运用掌控板的显示屏、声音传感器、光线传感器、A/B按键和PYTHON触摸按键来创作硬件编程作品、完成学习任务。

课程前两周是准备阶段,主要进行认知起点前测,通过“欢乐对对碰”游戏让学生自由分组选择结对同伴,向学生讲解结对编程准则,以及学生在完成画直线的简单任务中初步体验结对编程中的“驾驶员”和“导航员”角色分工与角色互换。

课程第3—12周学习新知识和完成8个编程任务(包括基础任务和进阶任务)。基础任务难度较低,主要帮助学生掌握编程技能,具体包括:画十字架、画音量柱、A/B按键控制角色大小、触摸按键控制角色行走等。进阶任务在基础任务基础上提升一个台阶,需要学生综合应用新、旧知识与技能,主要包括4个较难、较复杂的编程任务:画指定线宽的长方形、实现随声音强度变化的音量柱状图、实现随光线强度变化10次的光强折线图,以及利用触摸按键控制角色穿越的魔幻隧道游戏。

课程最后两周进行后测、填写结对融洽度问卷、面对面访谈,以及每位学生独立完成课后综合测试。

三、数据分析与研究发现

1.编程总评成绩差异

学生的编程总评成绩由学生结对完成的进阶任务编程作品成绩和学生单独完成的课后综合测试成绩两个部分组成,实验班的编程总评成绩平均值明显高于对照班,并且实验班个人课后综合测试成绩平均值大幅高于对照班,超过20分以上,见表4。

为了分析两个班级的学生编程总评成绩是否存在统计学上的差异,研究者对数据进行独立样本检验分析,结果显示:p<0.05,说明两个班级的学生成绩存在显著差异(见表5)。这个结果说明,混合结对编程策略有助于提高学生的编程能力。再进一步对两个班级的进阶任务编程作品成绩(结对小组)和课后综合测试成绩(学生个人)分别进行独立样本检验分析,发现前者不存在显著差异,而后者存在显著差异。这两个结果表明,混合结对编程策略对学生个人编程能力提升作用明显。

2.结对融洽度差异

结对融洽度是衡量学生是否有效结对的关键因素之一,对学生填写的结对融洽度量表数据进行分析,结果显示:p<0.05(见表6),说明实验班学生的结对融洽度明显高于对照班的学生,这也进一步说明了适度的结对编程才能让学生更好地融洽共处。

3.结对互动差异

在结对编程过程中学生的互动方式能够决定学生是否成功获得新知识。1 研究者对结对互动交流的话语数据进行互动类型编码,并对每个进阶任务的所有话语按不同互动类型进行计数统计。结果显示,采用常规结对编程策略教学的对照班学生的互动表现呈现从积极互动转向消极互动的趋势,如图1所示。

图1  对照班在完成四个进阶编程任务时的不同结对互动类型占比图

采用混合结对编程策略教学的实验班学生积极互动占比逐渐增加,中性互动和消极互动逐渐减少,如图2所示。由此可见,混合结对编程策略能够促进学生之间的积极互动,同时,结合学生的话语录音数据来看,积极互动占比增加主要体现在学生结对过程中产生了更多的双向指导。

4.對不同结对编程策略的态度差异

在课程结束前,研究者通过面对面访谈获得了学生对不同结对编程策略的态度数据。从访谈结果来看,学生对混合结对编程策略表现出较高的满意度。首先,学生表示喜欢结对编程,希望有单独编程的时间来提高自己的编程能力和制作自己的个人编程作品。其次,在结对过程中,编程能力差距悬殊的两位学生很容易出现“搭便车”现象,即一位学生完全听从另一位学生的指令,缺乏双向认知互动。最后,学生认为单独编程有助于夯实基础,掌握必要的编程技能,促进自己独立思考,而结对编程能弥补双方的缺陷,并表示随着自己和同伴编程能力的提高,结对互动会由单向指导转变为双向指导。

5.结对积极互动占比与进阶任务编程成绩的相关性分析

为了更深入探究学生积极互动对编程成绩的影响,研究者将两个班级学生在做进阶任务时的积极互动占比与编程作品成绩的关系进行分析。当积极互动占比大于50%时,学生进阶任务成绩也大都高于60分,且80分以上居多。然而,当积极互动低于50%时,分数在60分以下居多。但是有一个异常个例:积极互动占比低(18%)而成绩较高(75分),通过回放这个结对小组的交谈录音发现他们之间存在“搭便车”的行为,没有讨论,只有单向发出指令。剔除这个异常个例后,发现对照班学生积极互动占比与进阶任务成绩之间存在正向关系。

实验班学生积极互动占比与进阶任务成绩的关系如图3所示,实验班学生的进阶任务成绩都在70分以上,但是存在两个积极互动占比小于50%的异常个例,研究者进一步分析两组学生的录音发现,他们是在做第一、第二个进阶任务时出现了编程能力差异大导致程序更多是由能力强的学生完成的情况,但是在做第三、第四个进阶任务时,这两个小组的成员双向认知互动明显增加,相互启发、讨论协商。这也同样验证了实验班学生在访谈时所说的,单独编程能让自己掌握必要的编程技能,并且随着自己和同伴编程能力的提高,结对互动会由单向指导转变为双向互动。

以上分析表明,对照班和控制班学生的结对积极互动占比与进阶任务成绩存在正向关系,结对伙伴的双向认知互动有助于他们完成进阶编程任务,并取得较好的成绩。

6.结对融洽度与编程总评成绩的相关性分析

为了验证结对融洽度是否对编程成绩发挥中介性促进作用,研究者对两个班级学生的结对融洽度和编程总评成绩做了相关性分析,结果显示:p<0.05,皮尔逊系数大于0(见表7),说明结对融洽度与编程总评成绩存在正相关关系。这也进一步说明结对融洽度对学生的编程成绩发挥了促进的作用。

四、结论与讨论

本研究通过对比两种不同的结对编程策略对小学生学习编程效果影响的差异,发现混合结对编程策略对于小学生学习编程具有一定优势,相比常规结对编程策略,其可以带来更好的编程学习效果。

1.混合结对编程使学生之间相处得更融洽

结对融洽度是衡量学生有效结对的关键因素之一,有效的合作学习能够降低学生在学习过程中的认知负荷。本研究发现,与常规结对编程相比,采用混合结对编程策略的学生在结对过程中相处更融洽。一方面,学生在单独编程时能够提高个人的编程能力,减少学生在结对过程中因双方能力差距大而发生争吵或“搭便车”;另一方面,混合结对编程减少了学生结对的时间,给予学生单独编程创作个人作品的机会,也避免了由于结对同伴长时间密切合作所引起的结对疲劳风险1,增进了结对伙伴之间的融洽度。

2.混合结对编程有助于促进学生实现双向知识转移

研究发现,混合结对编程使学生在结对过程中产生更多的积极互动,主要表现为学生之间进行双向知识转移。2 从收集到的数据来看,编程能力是影响学生结对互动的重要因素之一,当结对双方的编程能力不相上下时,他们能够有效地进行双向知识转移。而当结对双方的编程能力差距较大时,他们双向认知互动的频率会降低。采用混合结对编程策略让学生在单独编程时提高个人的编程能力,减少结对伙伴在结对过程中脱离会话的现象,进而進行有效且频繁的双向互动,提高结对编程的有效性。

3.混合结对编程能够提高学生的编程能力

研究结果表明,不同结对编程策略下学生的编程总评成绩和课后综合测试成绩(学生个人)均存在显著差异,且混合结对编程策略作用下的两项成绩都更高,由此说明混合结对编程策略能提升学生单独编程能力,这一结论与汉斯·袁等人的研究发现存在一致性,即混合结对编程能够促进学生对知识的理解并提高学生单独编程的能力。3 不过,不同结对编程策略下学生在结对完成进阶任务的编程成绩上并没有显著差异,原因之一是不管哪种编程策略,都存在结对过程中的“搭便车”行为,容易抬高编程成绩。结对积极互动占比与进阶任务编程成绩的反向关系个例就说明了这个问题。

混合结对编程策略下学生单独编程的成绩更高不仅仅是因为提供给学生单独编程的机会,增强其学习动机,也是学生在结对编程过程中持续进行知识分享和迁移产生的结果。4因此,混合结对编程策略下的结对或单独编程都是提高学生编程能力必不可少的方式,单独编程促进学生对新知识进行建构和反思,结对编程则有助于学生对知识进行分享和迁移。

学生编程能力的提升,与结对融洽度和结对积极互动行为有密不可分的关系,后者对编程成绩发挥着中介性的促进作用,当学习伙伴能融洽交流、编程能力相当的伙伴进行积极的双向认知互动时,有助于提升学生的编程成绩。

4.混合结对编程策略应用于教学实践的改进建议

在采用混合结对编程策略进行教学实验的过程中,研究者对教学活动设计和实施进行了反思,提出如下改进建议:一是强调混合结对编程策略的规则,严格要求学生遵循规则;二是明确单独编程和结对编程的任务或时间;三是关注学生结对互动的情况,学生对参与编程作品制作的贡献度进行自评,教师及时发现贡献度悬殊的情况,通过查漏补缺对“搭便车”行为进行干预;四是引导学生通过单独编程扎实掌握基础知识;五是引导学生在结对编程过程中进行双向指导。

An Comparison Study of Different Pair Programming Strategies

on Learning Effects of Primary School Students

WANG Xuqing1,HUANG Qiongmei2

(1. College of Information,Mechanical and Electrical Engineering,Shanghai Normal University,Shanghai,200234;

2. Haikou Haijing School,Haikou Hainan,570208)

Abstract: Pair programming is a teaching strategy for learning programming in a collaborative way. This study combines pair programming with individual programming to form a mixed pair programming strategy. A quasi-experimental research method was applied to explore the differences in the effects of mixed pair programming and conventional pair programming on the programming performance of primary school students from their programming evaluation scores,pair compatibility,pair interaction language,etc. The experimental results show that the mixed pair programming strategy can enhance the harmony between pair partners,promote positive interaction among students,and improve their programming ability. Teachers should recognize the value of pair programming and individual programming,and improve the effectiveness of programming teaching by combining them.

Key words: mixed pair programming strategy,conventional pair programming strategy,pair compatibility,pair interaction