__61.
J 'FA O .rUE YAN JI,.U
结对编程技术在计算机程序设计类课程教学中的实践
河南农业职业学院 张巍
摘 要:用户需求的不断变化,导致计算机软件开发周期缩短、后期维护费用不断增加,软件开发的困难越来越多。随着极限编科
技术的 IH现,很多软件开发者开始结对编程的实践。结对编程技术作为计算机软件开发的组织方式,结合项目教学、案例教学等编程教
学经验,通过计划项目,建主项目开发小组、发布计划、验收测试、小规模发布成果和更换合作伙伴等环节,对学F主编科技术和协作精
神的培养起到了钉益的作用。
关键词z 结对编程;程序设计;教学方法;合作意识
随着计算机的普及和用户需求的不断变化,特别是用
户消费意识的变化,使计算机软件开发周期越来越短,后
期维护的费用不断增加。我国软件工业还处在起步阶段,
规模较小,传统的软件工程技术很难在中小软件公司中发
挥作用,然而极限编程( Extreme Programming ,简称
XP) 技术的出现,使中小软件公司的软件开发有了新的突
破。 XP 是一个轻量级的、灵巧的软件开发方法,同时它
也是一个非常严谨和周密的方法。它的基础和价值观是交
流、朴素、反馈和勇气,即任何一个软件项目都可以从四
个方面入手进行改善:加强交流:从简单做起:寻求反
馈:勇于实事求是。
XP 中非常重要的实践是结对编程( Pai r-
Programming) 。简单地说就是两个人坐在同一台计算机
前面,使用相同的键盘和鼠标来开发同样的一个模块,一
个称为驾驶者( Dri ver) ,负责代码的键入,另外一个
称为顿航员( Navigator) ,负责盯紧可能出现的错误,
包括低级错误和方向性的错误。而且,当出现的一个间题
对其中一个人来说,难以解决,而恰好是另外一个人的强
项的时候,那么角色就会发生转换。
-、结对编程技术在教学中的应用
在程序设计类课程教学中,枯燥的命令描述、抽象的
算法语法的讲解,使学生感到编程课太难。一个学期下来
学生记下了一个个命令和语句,但不知道如何进行软件开
发,很多学生学过后不能解决实际问题,所以教学效果不
理想。我们将结对编程技术引入到教学中,通过两年的教
学实践,发现教学效果很好。下面以 VFP 这门课的教学为
例.来谈谈如何才能更好地将结对编程应用到教学中。
l 、计划项目 新学期一开始,根据学生的喜好、需
求选择适合学生的开发课题,如考试成绩管理系统、大型
超巾管理系统、学籍管理系统、图书管理系统等,将这些
与现实生活结合紧密的内容做为学生的开发课题。这些经
过学宅和教师共同精心挑选的授课内容,不仅与现实生活
结合紧密,而且能激起学生很大的学习兴趣,明显提高了
同学们的学习效率,能收到事半功倍的效果。
2 、项目开发小组的成立每个小组由 5 到 7 人组成,
l 个小组长,兼任项目经理,负责调配资源、协助项目内
外的交流沟通等等。程序员是项目开发小组中必不可少的
成员,每两人结为一对程序员。测试员,帮助客户制订验
收测试。教师教练,负责跟踪开发进度、解决开发中遇到
的一些问题、推动项目进行,并扮演"客户"这个角色,
提出非常清晰的用户需求,决定各个需求的商业价值(优
先级) ,根据需求的变化调整项目计划等。
3 、发布计划,即每周(或一个阶段)的作业"客
户"教师)阐述需求,开发人员估算开发成本和风险
(完成时间) 0 "客户"根据开发成本、风险和每个需求
的重要性,制订一个大致的项目计划。最初的项目计划没
有必要(也没有可能)非常准确,因为每个需求的开发成
本、风险及其重要性都不是一成不变的。而且,这个作业
会在实施过程中被不断地调整以趋精确。
4 、验收测试、小规模发布,即作业的收与改学期
开始,是学生学习开发工具的时间,学生不可能做项 H 的
具体工作,每周上机实习要求学生一个操作计算机,一个
做导航员,两个共同熟悉操作工具,写出实习报告和对项
目的认识与分析。随着学习的深入,教师适时布置任务,
小组成员共同开发,先请剔组同学进行项目测试,成功后
交教师验收。
5 、更换合作编程伙伴每三至四周调整小组内的结
对伙伴,这样不但能提高作业完成的质量,还能增强相互
之间的知识交流和更新,增强相互之间的理解和掏通。这
不但有利于学生个人对知识的学习,也有利于整个项目的
顺利完成,更有利于培养学生的适应性和协作意识。
二、结对编程技术教学效果分析
经过近两年的教学实践,结果表明,该方法在程序设
计类课程教学中具有以下效果。
l 、学习态度有很好的改进由于避免了单人独处的
环境,两个人的合作更专注于学习。职业态度是编程人员
的首要精神,对代码的质量起关键作用。学生上机时聊
QQ 的、看新闻的、打游戏的现象没有(下转第 38 页)
何南农盘.11'.圃n
2007. .5唰--
惨-生是由于腐朽罪恶的封建宗法制度和封建礼教所造成
的,但当代的学生对封建礼教特别是小说中所谈到的理学
知之甚少,不了解封建礼教是怎样成为杀害祥林嫂的软刀
子的,这时就可以点击多媒体课件中的文字资料,利用多
媒体容量大、知识结构系统的特点给同学作介绍,帮助学
生顺利完成阅读,使学生对小说的主题有更深刻的认识。
再如学习《故乡的榕树》一课时,很多北方的同学根本没
有见过榕树,无法展开联想,树上为什么有卷曲飘拂的长
须?气根是什么样?树叶怎么透明如片片碧玉?这时可运
用多媒体课件点击视频,展示榕树的形态图片,使学生对
文中的描写有进一步的体会。
2 、把握不同文体多媒体课件的运用 多媒体教学基
本 t能适应语文各类文体的教学需要。但必须恰如其分、
有选择地加以运用。对于说明类、叙事类、抒情类作品的
教学不可能采用同一种教学手段。就是同一类文体,也应
视情况运用恰当的教学手段,不能不分文体特点千篇二律
地视昕并呈,单求教学场面上的热闹。如抒情性作品的教
学,来用多媒体的影视功能辅助教学并不是最佳手段。语
言形象视觉化后往往制约了学生的想象空间,笔者认为用
多媒体的声音功能,运用音乐来辅助教学,更能有效提高
对学生形象思维能力的培养。如在《荷塘月色》、 《再别
康桥》等课文的学习中,把握时机,播放音乐让学生配音
朗读,使学生在音乐的引导下进入学习情境,使学生在唯
美的情境中,思维、情感达到最佳发展状态,获得情感的
升华。
3 、正确把握语文教学法与教学手段之间的关系一
般来说,语文教学是→种语言艺术,它与影视艺术有着本
(上接第 31 页)了,取而代之的是积极地学习,而且充
满成就感。
2 、效率是 l 十 1> 2 结对编程,在每一时刻都是一
个程序员在编程,效率如何?是否大于 2 昵?答案是肯定
的。首先,一个人的编程,平均很难实现 1 > 80% x 1 的
工作效力。但是在和同伴一起工作时,必须一直保持思维
的高度集中,所以平均都可以达到 1> 80% x 1 的个人效
力,同时有了一遍代码评审,降低出错几率,减少了
bug 的产生。学生完成-个项目,就会有成就感,树立学
好的自信心。
3 、作业质量有明显的提高首先是对编码规范的遵
守,结对编程改掉了一些人编码的坏习惯(例如:不注
释) ,也同时融合了每个人的编程优点。其次,代码的层
次和语法变得优美, →些重复出现的代码没有了,该重用
的代码重用了,该重构的代码重构了。第二,减少 bug 的
产生。 Bug 的产生首先在于理解偏差,两人编程,需要两
人去理解,同时两个人要经过讨论,形成二致思想,才可
以编程,能够大大减少理解错误的风险。
4 、培养了学生的协作精神 由于强调了团队意识,
每个成员的学习成绩将取决于大家的共同努力。学生都是
好胜苟,都有集体荣誉感,都希塑自己是个成功者,所以
固 M***....2007 卑 .5期
质的不同,不应该将语文课上成影视作品观赏课,以教学
于段来代替教学法,就谈不上什么教学技巧。因为无论采
用什么教学手段,决定课堂教学质量与效果的,最终还是
施教者的教学水平。比如荣获第七届全国语文教师"四项
全能"大赛一等奖的张慧玲老师讲授《赤壁赋》时,她在
课前播放音乐,渲染气氛,然后来用诵读法,由学生分段
朗读、多媒体配乐,在诵读指导以后又播放名家的朗读,
使学生学习朗读技巧:在课文分析中,采用提问、点拨相
结合的方法,指导学生学习,辅以夜游赤壁图多媒体课件
的展示,使学生理解苏轼由乐生悲再到乐的情感变化,体
会作者的旷达之惰。张慧玲老师并没有仅仅以几张美丽的
图片作为讲课的全部,而是把多媒体课件作为辅助教学的
手段,采用诵读法、点拨法达到教学目的。
课件的设计和制作必须以提高学生的语文素质为目
的,不能花里胡哨,目不暇接,要把握好寓教于乐的
"度"。对多媒体资料和现成课件的运用要取其精华,有
借鉴、有选择、有创新,以期达到最好的教学效果。在现
代教育技术被广泛推广普及应用的今天,我们只有遵循语
文教学本身的规律,在教学中不断尝试、探索,才能充分
发挥现代教学手段的作用,使之更好地为语文教学服务。
(责任编辑郭峰)
参考文献2
[IJ 黄洪.高校多媒体教学存在的|问题及对策探讨[JJ. 新余商专
学报, 2004 , (9)
[2J 石良武湖南商学院多媒体教学子段应用分析[JJ. 教育信息
化, 2006 , (1 0)
在合作学习期间会相互帮助、相E制约、共同进步。
三、教学实践中存在的问题及思考
结对编程技术在教学实践中也存在着 些间题,主要
表现为:有些学生习惯了单打独斗的学习方式,旁边有二
个人总是显得不习惯:部分学生在生活上有一些坏习惯
(如不讲E生等)、个性强等:有个别学生学习积极性不
高,没有吃苦精神等。通过与学生沟通和进行分析研究,
总结出以下几种解决方法:一是营造团结、和谐、活跃的
环境,让大家多点自我表现的机会,使大家充满自信,勇
于发言,勇于表达自己的意见;二是多进行团体活动,鼓
励学生参加集体运动,使其有共同目标,相互理解,拉进
距离:三是多对小组鼓励、奖励,增强他们的集体荣誉
感、责任心。(责任编辑郭蜡)
参考文献:
[IJ 陈斐,结对编程技术 [MJ. 北京 2 机械工业出版社, 2004.
[2J Roy G. wi 11 iams 著,廖运刚,冯海燕翻译.精确管理与激情
领导 [MJ. 北京:机械工业出版社, 2005.
[3J Laurie \V illiams , Robert Kessler 等 .Pair Programming
111 umi na ted [MJ. 北京:机械工业出版社, 2004.
[4J \V illiamc. \Vake 探索极限编程 XP 系列丛何 [MJ. 北京:人民
邮电出版社, 2005.