基于结对编程的结对学习方法与模式研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wind2121
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:结对编程是支持两人一起在本地或远程进行协作完成一个编程任务的敏捷实践方法,该文结合合作学习理论,提出了结对学习的概念,并从教育学、心理学、博弈论等方面阐述了结对学习的方法,并采用两人结对小组,两小组组成一大组的模式,基于分布式结对系XPairtise进行结对学习实验,分析了不同性格、性别、能力等方面组合的结对学习效果。
  关键词:结对学习;合作学习;结对学习方法
  中图分类号:G40-057 文献标识码:A 文章编号:1009-3044(2017)14-0114-03
  1概述
  结对编程是指两位程序员坐在电脑前,讨论设计方案和常用的设计算法,共同程序代码并完成各种测试,又是敏捷开发中的实践方法之一。目前,将结对编程的方法引入计算机教学实践中,有利于提高学生编程能力和综合素质。
  合作学习是20世纪70年代初兴起于美国的学习模式,由2-6学生组成小组,以协作互助的方式共同完成小组学习目标,促进每个人学习水平,提高整体成绩。20世纪80年代末90年代初开始,我国也出现了合作学习的研究与实验,本文将结对编程方法与合作学习和教育学理念结合,提出支持两人结对的合作学习方法,即结对学习方法,并对影响结对学习的理论方法和影响因素进行了深入分析。
  2结对学习
  结对编程很大程度上提高了编程的效率及质量,是一种较好的实践模式。合作学习也利用了互助的理念,但合作学习一般人数较多,规模较大,可能产生的最大问题是不能保证所有人都很好地参与进来,在限定时间内每个人机会相应减少。此外,组员多也会导致互动结构过于复杂,必然提高了对合作技能的要求。
  而结对编程是一种两人合作的学习模式,发挥双方的长处,通过沟通交流高效率的完成结对工作。其中一方结对者称为驾驶者(dfiver),负责编写代码,另一方称为导航员(Naviga-tor),负责查看对方的代码,指出不对之处,并与之讨论,提出改进意见,双方定期交换角色,以充分发挥双方的优势。结对双方在合作编程的同时,知识交流也是一个重要的收获,双方通过合作相互讨论,进行知识交换,从而相互学习对方的长处。所以我们认为两人结对是效率较高的合作单元,我们称之为结对学习。结对学习是基于结对编程及合作学习理念,结对过程也是一种知识的传播,达到共同学习的目的。
  美国心理学家奥苏贝尔根据对学业成绩的实际影响将学习动机分为认知内驱力、自我提高内驱力和附属内驱力三类。同时,美国心理学家耶基斯和多德森研究发现,动机在适当的强度时,有最佳的工作效率;动机强度过低或者超过顶峰时,参与活动的积极性较低。因此,对于领导者,在安排结对学习小组任务时,尽量以任务为目标,适当地调整不同的学生组成学习小组,对不同小组进行分层任务的安排,学习能力强的小组,可适当增加任务的难度;相对较差的,可以适当减轻任务难度,提高小组的积极性。
  博弈论中合作与非合作博弈、重复博弈等理论对结对学习也有指导意义。结对编程主要是在软件开发、项目实施中的运用,是一种合作博弈,注重最终收益的分配。结对学习则更多的注重两者知识掌握的情况,注重过程中策略的选择。结对编程和结对学习的博弈也可以看做是一种重复博弈,为了减少一些不必要的摩擦,可以从规则出发,引导结对的两人自觉朝着合作共赢的方向努力。教师可以在指导学生进行结对的时候进行教育,强调两人间关系的建设,应对问题的处理方法等,企业中也可以针对员工进行结对培训。
  3结对学习方法与实践
  3.1结对方法
  为了让结对人员更有归属感,参与和交流的机会,我们采用两人一结对小组,四人一大组的模式,简化合作结构。
  1)两人搭档组合策略
  两人进行高效的搭档组合通常依据性格、性别以及能力程度的组合策略。不同的性格和性别组合可能产生不同的学习效果,而根据技能水平高低,将学生分为高级、中级和低级三个级别,不同能力的同学在结对的过程中能得到不同的收获。
  2)四人大组组合策略
  两人结对学习可能导致组内异质性较低,难以产生好的思维与想法。所以,借鉴合作学习理论,将两个结对小组组成一个四人大组,增加交流途径。四人组队可以有组长组队法、社会关系法和随机组队法。其中,常用的组长组队法是由较专业的成员担当组长,按照能力选配组员,高能力搭配低能力。
  3)关系建设策略
  结对小组形成以后,搭档之间的相互关系需要建设,从而便于后期的合作。这是成功的结对合作必不可少的环节,要通过关系建设让组员感到被了解和接纳。
  小组组建后,首先要相互熟悉,两人可以先从各自的喜好等方面进行简单的交流,之后就需要从“我”过渡到“我们”。同时,组建小组后需要让小组成员认识到彼此之间的差异,并且尊重这种差异,两人可以先通过共同解决一些问题等来为后面的合作做好准备。最后,可以通过一些小游戏来加强队员之间的相互信任并且加深默契。
  4)实施方法
  结对学习首先要创建一个合适的环境,在一个好的氛围中进行,学习习惯的非常重要,要学会倾听与表达。结对的过程中有很多方法可以运用。轮流说、同伴辅导、思维链、辩论法、头脑风暴等几种不同的方法均有不同的交流效果。我们在结对实验中一般不限制讨论的方式,但是轮流说和同伴辅导是比较常用且实用的。轮流说的形式主要是结对的两人或者四人小组成员先独立思考,然后轮流进行阐述等,搭档进行补充。而同伴辅导则是先由辅导者示范,被辅导者尝试,在出错时辅导者指出,让被辅导者先自己尝试纠错,不行的话辅导者纠错,反复进行这一过程。
  3.2结对学习过程
  結对学习实践的主要过程主要分为性格问卷测试、能力程度测试、学生分组、随堂测试、数据收集与分析等五个步骤。每个步骤的详细过程如图1所示。
  由于影响结对的因素众说纷纭,在实验中我们可以先检测知识背景和性别两个影响因素,所以排除这两个影响因素不做测试。在实验的第一和第二阶段,我们先对学生的性格和能力进行了测试和分类。之后,在实验的学生分组阶段,我们依据性格、性别、能力程度和各小组的人数进行了不同的组合,这样能够进行有效的对照试验。例如,我们在实验中根据性格测试的结果,把学生按照开朗型-开朗型,开朗型-内向型,开朗型-中立型等进行不同形式的组合;根据性别又可以把学生分为男生-男生,男生-女生,女生-女生这三种组合形式。接着,在随堂测试阶段,我们会发放相同的试题,各小组分别完成之后进行测试评分。最后在数据收集与分析阶段,我们把各种组合形式得到的测试结果进行分析,判断哪一种组合形式能够使得结对学习更加高效,以此供读者参考和借鉴。   3.3结对学习实验
  在实践中,往往很难评价各种组合方式的优劣,于是我们从结对过程和结对考核结果两方面制定了一套结对评价机制。对于结对过程(如成员间是否进行有效沟通、团队中各成员是否获得一定程度的进步等)我们主要通过记录员实时记录各组交流情况,并且给予实际打分来进行评价;而结对考核结果这部分我们主要通过代码测试的正确率来进行评价。
  我们利用如今国内外很流行的Xpairtise工具来进行实验,XPairtise插件是一个开源项目,提供共享编辑、项目同步、共享程序、测试执行、用户管理、内嵌对话交流和共享白板等功能。程序员通过这个平台可以实现异地的结对编程,我们选取实验人进行两两配对进行异地编程实验。
  我们在南京师范大学和南师附校的Java编程社团进行三次了以上实验,每次学生需完成8道编程题,每次练习的难度逐渐提升,这样我们的实验结果才能既准确又能分析出学生在结对过程中有没有获得实际进步。表1是测试获取的一些数据。
  4结果分析
  我们结合测试分组后得到了不同组合的平均正确率,按照不同性格、性别、能力程度、小组人数分组后随堂测试的正确率。图2~图5反映了不同组合形式的结果分析。
  不同性格随意组合的情况,如图2所示,开朗-中立型、内向-中立型以及中立-中立型三种形式正确率最高,而内向-内向这种组合形式的效果最差。在实验过程中我们通过XPair-tise插件中的交流记录也发现,两个内向型的人在一起沟通效果普遍不好,而开朗-开朗这种组合形式也有可能导致两个学生过度交流而不专心思考,效果也不佳。
  不同性格组合的情况如图3所示,每种组合的正确率出入不大,最高與最低仅相差5个百分点,其中平均正确率最高的组合为男-女组合,而男-男组合的效率和学习积极性也较低。主要原因也是由于男生和女生思维方式上有一些不同,在学习方面能够相互补充,另外,部分学生也表示与异性合作能在一定程度上提高他们的学习积极性。
  不同能力程度组合的情况如图4所示,这种组合形式上处于高级的学生确实在测验中有一些优势,测试的正确率也基本按照高级到低级递减。但是,从XPairtise插件记录的实验过程来看,初级和部分中级学生对于学习的热情很高,特别是在高级学生的指导下进步很大,所以在组合时由一个相对高级的学生带领一个相对低级学生的形式效果最好。
  从不同小组的人数划分效果来看,如图5所示,两人结对小组一四人大组的形式最好,而单独一人分组的学习效果最差。我们通过XPairtise插件中的交流记录发现,在实验过程中,两人结对小组工作时效率最高,而两人小组再组合成四人小组在通过XPairtise插件讨论时往往能发现新的问题,在原来的能力上又会有一些提升,所以这种形式的效果是最好的。
  5结束语
  本文提出了结对学习的概念,并通过XPairtise插件进行了编程的分布式结对学习实验,在这个基础上,我们设想其他内容的结对学习也能够进行分布式的运用。如今office已经支持协同编辑文档,可以通过共享工作簿实现多人同时编辑文档,提高工作效率。通过这样的功能,也能够帮助人们进行office的在线结对学习,在更多的计算机软件中也可以开发类似功能插件,帮助人们进行软件的学习。在其他方面的学习中,通过集成屏幕共享,语音、会话及防干扰功能的系统,进行在线学习也不失为一种很好的方法,如一些在线学习平台中,可以加入结对学习室的功能,针对网络课程等进行探究。
其他文献
摘要:高校多媒体管理人员作为多媒体教学的技术保障者,数量的不足直接导致教师遇到问题无法得到及时的服务,耽误教学的进行,而文献梳理的结果发现,现有的研究对策并不能有效地解决管理人员少的问题。本研究以绩效导向与成本控制的思想为理论依据,以研究者提供的高校内部其他部门解决类似问题的实践经验为现实依据,综合考虑多媒体管理工作的实际特点,得到N名半个多媒体管理员大于1名多媒体管理员的问题解决思路,提出了招募
摘要:让学生学习编程,引导学生深度思考算法及其工作流程,亲历问题建模、算法设计、程序实现及优化的完整过程,引领学生从计算机科学家视角分析问题、解决问题,对于学生而言,无疑是一种观察世界的全新视角。  关键词:算法;程序;计算思维;冒泡排序  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)35-0126-03  伴随面向对象程序语言的兴起,算法思维与建模能力的培养在
摘要:随着互联网技术的不断发展,高校课堂教学形式也在发生着翻天覆地的变化,从早期的纯口述和版书的上课方式慢慢过渡到掺杂部分数字化资源的PPT讲授方式,均是以教师为主导,学生被动接受的“填鸭式”教学方法,由于采用“满堂灌”的方式又不注重课堂的组织和管理再加上学生学习兴趣的低落,使得整个教学过程变得死气沉沉,期末考核出现大面积学生补考,教师的教学热情也受到极大影响,最终导致“老师不愿教,学生不愿学”的
摘要:近年来随着信息技术的不断发展,公司和企业的信息化管理手段也日益增强,在大多数企业中普遍都具有内部的OA办公系统、邮件管理系统、人事绩效考核等管理系统,这些信息化系统的目的主要是实现企业内部的资源管理,但是在一些大型企业运营过程中,有部分项目是需要外包给第三方机构进行施工维护和管理的,而作为雇主的企业方又需要时时监控工程进度和质量、在以往的项目管理这个阶段中大多数还是依靠人工沟通、协调、督促来
摘要:高职院校课袁的编排是在充分利用教学资源的基础上,通过课程、教师、时间、班级、教室这五个组成要素进行优化组合,来保证日常教学活动的正常运行。该文通过课表编排的流程、影响课表编排的因素进行分析,提出合理编排课袁原则,优化课袁编排方法。  关键词:高职院校;课程编排;原则;方法  课程表的编排工作是学校至关重要的一项管理工作,它是日常教学活动正常运行的“指挥调度表”,对维护学校教学秩序有着举足轻重
摘要:随着科技技术的稳定发展,计算机技术的兴起逐渐被各行各业广泛应用。对企业的经济发展来说,使得其缺乏高校计算机专业的人才,这样就未能很好地满足市场经济发展的需求。因此,对计算机人才的培养就显得格外重要。就现今徐州卓圆信息科技有限公司的发展而言,校企合作办学人才培养模式俨然已成为高校计算机专业的重要战略选择。鉴于此,该文从计算机专业校企合作的重要意义出发,进行简要的分析,并对现今计算机专业校企合作
摘要:以过程性评价的相关理论为基础,总结了其在教学中应用的特点,以《数据结构》课程翻转课堂教学为例,介绍了过程性评价应用于翻转课堂的实施方法,并对实践结果进行了详细分析;结果表明,在翻转课堂教学中引入过程性评价机制,可有效调动学生学习的积极性,提升教学效果。  关键词:翻转课堂;过程性评价;数据结构  中图分类号:G434 文献标识码:A 文章编号:1009-3044(2017)13-0101-0
摘要:社会在不断发展,科学技术也越来越先进,而计算机和互联网也走进了千家万户,影响着我们的生活、工作。计算机网络的应用范围越来越广泛,也带来了更多网络安全隐患。本文分析了计算机网络安全的现状和影响网络安全的因素,并提出相应的网络安全的防范措施。  关键词:计算机网络;安全;黑客;防范措施  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)11-0023-02  网络
摘要:计算机仿真实训室是高职院校电气自动化技术、建筑电气工程技术等各类工科专业的重要实训场所,承担利用各类专业软件进行仿真实验、实训及理实一体化课程。实训室存在使用频率高、软件更新频繁、多系统维护管理难度增大等问题。利用增霸卡和同传软件等辅助工具减轻计算机系统维护的工作量,找到适合计算机仿真实训室所用专业软件的合适的应用模式,有效解决专业软件安装、维护难题,提高职业院校专业实训室的计算机网络管理水
摘要:为了提高流体力学算法EULER3D程序的性能,提出了一种基于System Generator的软硬件结合的优化方法。在分析算法流程和耗时函数的基础上,用System Generator模块搭建系统模型,实现EULER3D的核心计算功能,并进行仿真。利用高速以太网接口实现PC和FPGA之间的数据交互,最终实现了EULER3D程序的整体性能优化。将实验结果与直接编写VHDL代码开发方法比较,结果