李支成 向华 吴开诚
摘要:在计算机语言课程混合教学改革中引入结对编程方法。对程序设计实践内容按照项目进行组织,利用混合教学中在线学习平台的PBL功能发布和管理项目。学生二人结对来共同完成项目,在学习过程中增加互动交流和帮助,提交了团队意识和编程能力。
关键词:结对编程;极限编程;混合教学
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2019)24-0140-02
开放科学(资源服务)标识码(OSID):
1 引言
计算机语言课程是非常重要的专业基础课程,包括C/C++程序语言设计,JAVA程序语言设计,Python程序语言设计等课程。目前计算机语言课程存在的问题是教学模式和方法单一,传统课堂以讲授为主,着重程序语句和基本算法的讲解,学生重复代码实现,学生学习主动性差,遇到困难时容易放弃,同时教师和学生缺乏交流,教学效果不佳。
近些年来,将在线教学与课堂教学结合的混合教学[1,2]逐渐成为很多高校采用的教学方式。混合教学的核心是强调教师的主导作用和学生主体地位的有机统一,它所构建的环境是原有学习环境的扩展,并充分整合了传统教学和在线课程学习所构建环境的优势。将线上自主学习、讨论等活动和线下协作学习等活动混合,是建构主义学习理论和行为主义学习理论结合。
Extreme Programming(极限编程,简称 XP)[3]是一种以编码为核心任务并且经历过实践考验的轻量级软件开发方法。结对编程是极限编程的一种重要实践,适合应用于计算机语言教学实践[4,5]。结对编程把学生两人一组,分成多个学习小组。在小组中一个输入代码实现,一个在旁边观察,发现编写过程中的错误和待优化的代码。两人结成一对,及时进行交流,互相鼓励。同时输入者与观察者的角色根据情况可以互换。让学生学习编程语言的同时掌握应用软件开发方法,提高学生的团队意识和编程能力。
在计算机语言课程混合教学改革中应用结对编程方法,促进了学生与学生之间的交流,营造良好学习氛围,被动学习转为为主动学习,提高了学生团结协作和沟通能力,提升了学生的学习兴趣和自信心。
2 结对编程在计算机语言课程混合教学改革中的应用
2.1 结对方法
结对方法采用多种方式,主要包括自由组合和能力搭配组合。在计算机语言混合教学中,本文案例使用的在线教学平台是超星泛雅在线学习平台。结对方法的具体实施工具是利用超星在线学习平台的PBL功能。PBL是基于项目的方式,把学生划分为多个小组,每组限定为两人,组员合作讨论,最终形成项目成果。PBL提供小组评价功能,包括教师评价和组间互评,并可以设定权重比例。利用PBL的优点在于充分利用混合教学在线课程平台,让小组成员可以及时在线交流,最后提交项目代码结果。整个过程都留下了记录,教師可以追溯整个项目完成的过程。
在课程的开始阶段,教学内容相对简单,采用的是自由组合方式。学生可以选定相对熟悉的同学进行配对组合。这样有利于学生熟悉结对编程这种新模式。在课程的中后期阶段,根据学生的在线课程学习成绩,把学生分成高,中,低三种能力水平。让水平较高的学生带着水平较低的学生,以达到帮带目的。可以采用的组合方式为:“高+中”“中+低”“高+低”。这个阶段老师对班级学生的学习能力水平有了大致的了解,可以针对性地选择学生进行配对。重点关注学习积极性差,学习进度慢的学生,征求这些低水平同学的配对意见。进行一到两次的组合调整,达到相互促进目的。
2.2 结对编程的实施
教师把实践内容分成多个项目,根据教学进度用PBL方式发布项目。班级学生二人一组,根据结对方法分成多个小组。小组可以选择在课堂上进行结对编程,两人共用一台机器,完成项目。也可以在利用课外时间,在线交流讨论,线上完成项目。
对每个小组的要求包括:(1)需要按照项目要求提交程序代码和相关文档。(2)给出小组成员的具体分工,分成编写角色和观察角色。并要求在不同项目中要交换角色。(3)随机抽取的小组需要采用答辩的方式报告项目情况,教师和其他小组进行现场打分。没有参加答辩的小组由教师和其他小组交叉评阅打分。
2.3 实施效果与分析
本文以《C语言程序设计》课程混合教学改革为例,对一个班级进行一个学期的结对编程实施,总体实施效果较好。班级平均成绩较往年提高8分左右,优秀学生的比例有较大提高,不及格的人数也变少。实施效果分析如下:
(1)实施结对编程的班级课堂活跃度较高,小组成员之间相互讨论,有问题立即讨论解决,提高了学生学习的自信心。在课堂上遇到问题时,也会积极请教老师,和老师互动变多。在传统课堂上学生遇到困难后,由于性格原因往往不会请教老师。在结对编程的学习氛围下,学生的性格也会互补,交流互动变多。
(2)从项目结果来看,提交的代码质量变高,程序交互界面也变得友好。部分学习好的同学甚至会扩展功能。主要是在结对编程过程中,两个人综合意见后,减少了代码中的错误。
综上所述,结对编程在混合教学中的效果较好。但在实施过程中仍然发现一些问题。例如有少部分学生存在“吃大锅饭”现象,只完成少部分任务或不完成任务。在结对编程过程中两个人也会出现配合不好,闹情绪的现象。在面对难度较大的项目时,结对小组还可能面对不能完成项目的情况。
3 结语
混合教学在面对计算机语言课程时,也会面对计算机编程实践教学中的困难。利用结对编程方法,对混合教学中的实践内容按照项目进行组织,把班级分成多个二人小组,组内成员互相交流和帮助,能够提交教学效果,同时提高学生的团队意识和编程能力。
参考文献:
[1] 吕娜,张琎,张芊茜,等.混合教学模式在程序设计类课程中的应用[J].计算机教育,2019(05):115-118+123.
[2] 陈刚.基于数据分析的分层混合教学模式实例研究[A]. Advanced Science and Industry Research Center.Proceedings of 2018 International Conference on Education Reform and Management Science(ERMS2018)[C].Advanced Science and Industry Research Center:Science and Engineering Research Center,2018:5.
[3] Beck K, Extreme programming explained [M].Addison Wesley P Educ,2000.
[4] 奚修学,高亚.敏捷软件开发方法在C语言教学中的应用初探[J].成功(教育),2013(22):238.
[5] 徐胜舟,杜小坤.结对编程在Java Web开发课程实践教学中的应用[J].现代计算机(专业版),2015(13):13-16.
【通联编辑:朱宝贵】