摘 要:目前,高等學校的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月出生,男,研究方向:計算機基礎教學,職稱:講師。就職學校:沈陽工程學院計算機基礎教學部。