敏捷开发Scrum项目教学在C语言课程设计中的实践
2014-11-17周本海
摘 要:目前,高等学校的C语言实践教学过程中存在着实践模式单一、设计题目陈旧以及学生缺乏交流合作等问题。针对上述问题,提出了在C语言课程设计中应用敏捷开发scrum项目教学模式。利用敏捷方法的项目计划指导学生的C语言课程设计,通过对产品的关键部分的选取,冲刺开发,发布的循环开发,使学生在课程设计中,能够培养团队合作的精神,提高协调能力并且提高自身的主动学习能力,从而有效地提高C语言实践教学质量。
关键词:scrum;C语言;课程设计;项目
C语言是一种实践性非常强的课程,从教学的效果上看,尽管学生掌握了很多与C语言相关的语法知识,但是学生在解决C语言实际应用问题时漏洞百出,包括程序流程不清、基本语法改错能力较差以及查找逻辑错误能力较弱等。
一、Scrum敏捷开发概述
Scrum的开发团队总是先开发对客户具有较高价值需求的产品。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。
二、Scrum敏捷开发在C语言课程设计的应用
由于C语言课程设计是一门实践性非常强的课程,本文将scrum敏捷开发方法应用到C语言课程设计上。根据敏捷开发的思想,以学生为核心,加入scrum开发方式,培养学生的团队合作精神、创新能力以及编程能力。通过项目任务的方式引导学生主动思维,主动学习,深刻理解软件设计的思想,加深他们对C语言重要知识点的理解。具体的安排为,将课程设计密集地安排在一周,给学生提供充分的上机时间。
1.项目分组及角色扮演
小组的角色分配按照Scrum敏捷开发方式分为三个角色,即产品负责人、Scrum Master、团队。产品负责人的职责为,确定课设题目的功能,决定发布的日期与内容,接受或拒绝接受开发团队的工作成果。Scrum Master的职责为,能够及时地为团队成员提供帮助,保证各个角色及职责的良好协作,解决团队开发中的障碍,做为团队和外部的接口,屏蔽外界对团队成员的干扰,保证开发过程按计划进行。团队的职责为开发、测试、界面设计等,确保课程设计达到阶段性与总体性目标,并且团队成员在每个阶段性目标内不能变化。
2.项目具体设计过程
首先每个小组将课程设计的题目按照功能的核心程度,进行sprint块状划分,将最重要的,最核心的部分先进行设计。小组内要召开sprint计划会议,确定功能块需要完成的任务,并将任务的关键程度进行分配,分配给每个成员。在这一个步骤中,任务是以小时计算的,而并不是按天计算的。
其次,课程设计小组进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum 会议。整个sprint周期结束,召开Sprint验收会议,将成果演示给教师。
最后,小组成员召开Sprint终结会议,小组成员互相总结问题与经验。这样周而复始,按照同样的步骤进行下一次Sprit。
本文提出了在C语言课程设计中引入敏捷开发scrum项目教学模式,介绍了Scrum概念以及Scrum敏捷开发在C语言课程设计的具体应用,通过本文提出的C语言课程设计模式,能够使学生有效地提高自主学习能力、协调能力以及团队合作精神。
参考文献:
[1]刘磊.项目课程视野中教师课程能力解析[J].职教通讯, 2011(01).
[2]刘磊.项目课程实施之学习模式探究[J].新疆职业教育研究,2010(03).
作者简介:周本海,1981年11月出生,男,研究方向:计算机基础教学,职称:讲师。就职学校:沈阳工程学院计算机基础教学部。