浅谈师范院校结对编程在师范院校计算机实践教学革新中运用大专

更新时间:2024-02-08 点赞:8770 浏览:26242 作者:用户投稿原创标记本站原创

【摘要】针对师范院校计算机专业实践教学存在的问题,提出利用结对编程进行实践教学改革的方案。分析了结对编程的特点、结对原则和实施要求,并与传统的实践教学进行了实验对比。实验结果表明,结对编程能有效降低Bug出现频率,提高学生动手能力和团队合作意识,促进了实践教学改革。
【关键词】结对编程:师范院校;实践教学改革;计算机专业
【】A 【论文编号】1009-8097(2013)07-0122-05
引言
在我国高等教育体制中,师范院校计算机专业培养目标主要包括两个方面:一是要求毕业生具备教书育人的良好教育理论素质和技能:二是要求毕业生具备胜任所从事岗位的扎实的学科专业知识以及较强的实践能力和创新能力。长期以来,由于受传统教师教育培养模式的影响,师范院校计算机专业实践教学仅被看作是一种辅助性和验证性手段,导致出现重理论教学,轻实践技能,重思维能力,轻动手能力的现象,培养出来的学生难以适应社会需求。随着师范院校就业形式多元化的发展,毕业生不仅可以选择当老师,还可以从事软件开发、网络管理、信息技术等操作能力较强的工作。针对河南省4所师范院校的一份调型结果显示:计算机师范生只有34.7%的学生非常愿意和愿意从事教师职业,其中计算机专业科班出身的学生只有29.68%的人愿意从事计算机教学。由此可见,推行实践教学改革已成为师范院校的迫切要求。当前师范院校计算机专业应该着力培养“教师+IT工程师”新模式的人才,因此,如何提高学生的计算机应用能力,培养专业素养高、综合能力强、动手能力突出的实践型人才是亟须解决的问题。
对计算机专业而言,实践教学是培养计划的重要组成部分,而提高编程能力、践行软件工程思想、培养团队合作精神则是实践教学中的重要环节和目标,因此,各院校均将实践教学摆在了重要的战略位置上。目前,师范院校计算机专业的实践教学环节主要包括教学(课程)实验、实习实训、课程设计、毕业设计(论文)、实践创新等方面,实践操作方式大体分为独立完成和团队合作两种。但是不论哪种方式,都存在不足:独立完成方式开发周期长、开发效率低、Bug出现频率高,不利于培养团队合作精神,不利于践行软件工程思想:团队合作方式无法保证团队成员均能各司其职,无法达到全面发展,并且存在着“窝工”、“吃大锅饭”等现象。往往团队中只有小部分人真正动手编程,其他人员仅仅是借用团队实验成果达到实验或考核目标。通过分析目前实践教学实施过程中存在的问题,我们提出利用结对编程思想来改革传统实践教学方式的方案。

一、结对编程概述

结对编程的定义为:两名程序员合作开发同一产品模块(设计、算法、代码),这两名程序员分别扮演“驾驶员”和“导航员”的角色,共同思考问题,共同负责产品模块的各个方面。“驾驶员”控制鼠标、键盘并编写代码,“导航员”主动持续地观察和辅助“驾驶员”的工作,找出代码的缺陷,思考替换方案。结对双方的角色不是固定的,而是进行周期性的交换。任何时候双方都是平等活跃的参与者,在整个项目开发过程中,两者共享所获得的工作成绩。
结对编程是极限编程12个最佳实践中最重要原则之一,是团队设计的基础,它与传统的开发过程有很大的不同。在传统开发过程中,每个开发人员负责系统的一部分开发任务,各自分工,互不干扰。而结对编程是两人结为一对,共同完成同一个开发任务。两人在同一台计算机面前进行编程活动,“驾驶员”进行操作编码,“导航员”观察代码并考虑设计问题。一旦发现问题时,暂停编码工作,双方讨论解决。结对者的角色根据需要进行不断调整和交换,包括与其他结对小组交换成员。
结对编程的概念起源于20世纪90年代中期。经过近20年的研究和发展,多数软件企业因其具有可以减少风险、提高生产效率、代码质量高、有利于交流学习等优点而积极采用结对编程。也有一些企业对其持反对态度,主要理由是认为结对编程浪费人力资源、对程序员要求太高、公司人手短缺等。高校教学中应用结对编程思想的目的与软件企业采用结对编程的目的不同,前者主要是帮助学生提高编程能力和培养团队合作精神。在教学方面,最有代表性的是在1999年犹他州立大学做的一项试验,结果表明虽然结对组在最初阶段比独立工作的学生完成同样任务花费的时间更多,但很快结对组花费的时间大幅度下降,而独立工作的学生需要花费比结对组更多的时间来达到相近的代码质量。国外研究显示,教学过程中采用结对编程可以提高学生的记忆力、自信心、学习兴趣、代码质量和学习成绩。国内研究表明结对组的共同学习失败率小于独立学习失败率,采用结对编程进行实践教学的班级普遍在编程能力和质量上优于采用传统实践教学的班级。而且,结对编程有利于培养学生互相学习的良好习惯,提高学生的自信心,促进团队合作和人际交往。但是,目前针对师范院校计算机专业特点的结对编程研究还很少。

二、实践教学改革中对结对编程的要求

综合考虑师范院校计算机专业本科生的实际情况,对实践教学改革中践行结对编程从工作环境、项目选择、结对原则等方面提出相关要求。
1 工作环境要求
由于结对编程工作模式是两人坐在一起共同完成程序的设计、编程和测试,因此需要将传统的“一人一桌一机”的工作环境改造为“两人一桌一机”环境,使工作台和设备的摆放便于结对搭档之间的交流与合作,为了不影响其他结对组的工作,最好将工作环境设置为隔断式空间。如图1所示。
目前,大多数软件公司的工作环境与图1类似(传统开发仍然是“一人一桌一机”),这样可以让学生“身临其境”感受未来实习或工作单位的工作环境。
2 项目选择
实践教学不是单纯的课程实验,提高学生编程能力最好的方式是项目驱动式。考虑到师范院校计算机专业学生的实际能力和编程素养,功能全面、业务逻辑复杂、代码量庞大的大中型项目并不适合作为实践课题,而通常情况下只由一人工作几天甚至半天即可完成的微型项目也不能起到锻炼技能的作用。因此,团队结构简单,开发人数在4~6人,代码量在18人月以下,项目目标简单,不需要与周边系统集成,对系统高可用性要求一般的小型项目是最佳选择。同时,宜选择学生感兴趣的、业务逻辑比较熟悉的小型项目进行实践,如单机版游戏开发、多媒体教室预约管理系统、单词记忆软件等。 源于:论文标准格式www.618jyw.com
源于:科技论文www.618jyw.com
(5)每个学生都有动手实践的机会,都能在实际操作中学到实用知识,避免了前述传统团队开发中“窝工”、“吃大锅饭”的现象发生。由于每人需要完成自己的结对任务,所以几乎不存在照搬照抄他人成果的情况。
2 对师范院校实践教学的促进作用
结对编程除了具备上述的优点外,对师范院校的计算机专业而言,还有着独特的优势。
(1)培养和提高了师范生的教学技能。师范生的教育实习是一个重要环节,但是多数学生的实习效果并不好,往往表现为不能进入教师角色,无法胜任顶岗课程教学任务等。究其原因是教育实习之前的试教环节存在弊端,因此严抓试教工作是教育实习取得成效的前提。但是,由于课时的限制,教师不可能让每个学生都试讲并给予指导。而结对编程环境恰好可以提供一个良好的试教平台,这也是提倡“高级+初级”结对方式的原因所在。因为,在帮助和指导“搭档”的时候,学生可以切身体会到“学会”和“教会”是两个不同的层次,要想讲清楚一个知识点,需要有耐心、勤思考。另外,被辅导的对象也会有无形的动力去努力学习,并模仿“搭档”的教学方式。因为老师讲解某个知识点可能无法完全站在学生的角度去考虑,学生如果听不懂会认为“老师懂这些是理所当然的”,而且性格内向的学生可能会羞于向老师请教。但是,如果这个知识点是由自己的同学来讲解的话,则情况大有改观。在这个过程中,学生往往能收获到成功的喜悦。
(2)增强了女生的自信心。师范院校女生居多,而且大都受“女生不适合学计算机”等片面观点的影响,往往对编程望而生畏。在结对编程中,不论知识点的难度大小,每个人均需要亲自动手操作。在公平对等的编程环境中,她们能真正动手敲程序代码,一旦完成了自己的第一个小程序,她们往往很有成就感,自信心也极大增强。如果能得到老师和“高级”者的鼓励和赞许,她们的进步会更大。
五 结束语
结对编程是一种新的编程思想。虽然部分软件公司在项目源于:大学生论文网www.618jyw.com
开发中,对使用结对编程的方法持消极态度,表现为:(1)管理人员的反对;(2)不能让两个人干一个人的活;(3)编程人员的反对。究其原因主要是考虑开发成本等经济效益以及程序员编程水平相差大。而在本科教学中这几条因素的影响很小,故可以实施和推行。通过对比实验结果表明,结对编程可以加快学生的学习速度,同时还能提高程序的设计质量、减少程序缺陷、提高学生的操作技能和团队合作精神,并且在此过程中结对学生的心情更加愉快,学习积极性、自信心都得到了明显增强。但是,也存在着一些问题:如有的学生喜欢独立编程,不愿意结对(存在个别学生选择独自完成课程设计而不参与团队开发的现象):有时会出现不适合结对的时机,比如对新技术进行尝试和攻关的时候:如何采取有效措施让“低级”者真实地参与结对编程等。在下一步的实践教学改革中,将关注以上问题,寻找合适的解决方案。
相关文章
推荐阅读

 发表评论

共有3000条评论 快来参与吧~