李棟,孫世文,李紅杰
(山東青年政治學院,山東 濟南 250103)
敏捷開發(fā)模式常見于互聯(lián)網(wǎng)信息企業(yè)開發(fā)工作中,具備任務具體明確、靈活多變、快速反饋、完成度高等特點,在實踐開發(fā)中取得了不錯的效果。近年來基于多種創(chuàng)新教學模式教學改革的研究應用也越來越多。本文探究敏捷開發(fā)用于計算機專業(yè)課程的教學改革方法,目的在于通過敏捷開發(fā)模式在實踐教學中的應用,激發(fā)學生的學習新知識的興趣和動力,鍛煉提升學生的實踐動手能力,提高教學質(zhì)量。
敏捷開發(fā)模式應用在教學中是指將教學內(nèi)容中的章節(jié)模塊化、知識點需求化、學習方式任務化,結合過程迭代實現(xiàn)和任務驗收方法,對學生在學習過程中遇到的問題給予及時指導,對教授課堂內(nèi)容進行相應的優(yōu)化調(diào)整,并利用學習任務本身促進學生提升學習能力的一種教學方法。最近幾年,多種創(chuàng)新教學模式在計算機教學探究實踐中得到了很好的應用效果。楊巧梅[1]研究了任務激勵在計算機網(wǎng)絡課程中的應用并進行了實踐,取得較好的教學效果。何穎剛等[2]的基于課堂派和PTA 的混合式教學實踐與探索有效激發(fā)了學生的學習興趣,顯著提升了教學效果。閆鵬[3]的虛擬現(xiàn)實技術課程設計與教學實踐為相關課程教學活動的開展提供了很好的借鑒。方潔[4]針對程序設計類課程提出基于“線上+線下”“主講+外聘”的綜合改革方案,取得了不錯的教學效果。楊云海等[5]的分課堂模式對于提高數(shù)據(jù)庫課程課堂教學效果也有一定的作用。本文主要嘗試探究把敏捷開發(fā)模式應用到程序設計類課程教學的教學改革中,以“Python Web 程序設計”課程為例,通過把教授課程內(nèi)容需求化、模塊化任務化,結合迭代周期內(nèi)相應的過程實現(xiàn),提升學生的學習效果。
“Python Web 程序設計”課程屬于計算機專業(yè)基礎核心課程,這類編程課程一般概念抽象,重理論基礎且實踐性強,即要求理論知識與實踐編程相結合。學生學習比較困難,如何讓學生理解和掌握課程內(nèi)容中的知識點,達到教學目標,提升教學質(zhì)量這對課程教學來說是個巨大的挑戰(zhàn)。本文根據(jù)多年的編程類課程的教學經(jīng)驗總結出該類課程在教學中的主要問題有以下三個方面:
(1)理論知識難于掌握。學生在學習相關理論知識點的時候,無法對其進行有效的理解掌握,且易降低學生學習的積極性和主動性。
(2)理論與實踐無法做到有效結合。目前業(yè)界對于這類編程的課程教學模式單一且傳統(tǒng),一般都是對著教材先進行理論知識點的講解,然后課后再布置相關作業(yè)去完成,這樣做的缺點是將理論與實踐割裂開來,無法將理論與實踐有機結合起來,無法做到融會貫通。
(3)考核機制不夠靈活。傳統(tǒng)的考核機制比較在意結果,輕視過程,且期末考核成績比重大,難以體現(xiàn)過程的重要性,會造成平時學生不用功,期末臨考前突擊的現(xiàn)象。因此,“Python Web 程序設計”課程的教學改革的重點應從樂于掌握理論知識、理論與實踐相結合出發(fā)點,采用基于敏捷開發(fā)模式的教學方法,配合以靈活的考核手段,注重過程積累和把控,把理論教學和實驗教學一體化,充分發(fā)揮實驗教學的作用,使得學生持續(xù)保持學習熱情,從而提升教學質(zhì)量。為保證課堂質(zhì)量,統(tǒng)一開發(fā)環(huán)境,教學實踐部分采取線上教學平臺,如圖1 所示。
圖1 云計算實驗教學平臺
以“Python Web 程序設計”課程為例,基于敏捷開發(fā)模式的教學實踐探究就是把這門課當成一個產(chǎn)品,結合課程大綱要求,把每一章節(jié)當成這個產(chǎn)品的一個組件,將之模塊化,按照每章節(jié)內(nèi)容的知識點,對其進行拆分,將所學知識點變成對應的需求,產(chǎn)品周期為一個學期,整個產(chǎn)品周期內(nèi)的一個迭代周期為一周,每周需完成相應需求的實現(xiàn),并有對應的階段性成果,完成本次迭代敏捷開發(fā)也就完成本章內(nèi)容的學習,下周上課前段時間進行驗收上一周的學習成果以此來檢查學生的學習效果,多輪迭代后形成一個完整的產(chǎn)品,即完成了整個課程的學習,在整個過程中配以靈活的考核機制激勵學生,從而達到理論與實踐相結合,理論指導實踐,實踐加深理論理解的目的。研究中以“Python 在線題庫”綜合項目為例,探究基于敏捷開發(fā)模式教學方案。綜上所述,基于敏捷開發(fā)模式的教學模式設計框架圖如圖2 所示。
圖2 敏捷開發(fā)模式教學設計框架圖
敏捷開發(fā)中,是以小組為單位進行開發(fā),因此在教學實踐中,可以將一個教學班級按照5 到8 人劃分為一組進行敏捷迭代開發(fā),這樣一個教學班級大致可以劃分為4 到6 個組。其中1 人為產(chǎn)品經(jīng)理,負責產(chǎn)品需求的梳理以及拆分;另外3 到4 人負責開發(fā),將具體需求進行開發(fā)并實現(xiàn)其對應功能;剩余2 到3 人負責測試,負責驗證需求的理解是否正確以及實現(xiàn)功能是否正確,并對本次迭代開發(fā)質(zhì)量負責;最后由老師進行驗收,成績由老師判定。
即將每周要講的內(nèi)容首先按照敏捷開發(fā)方式,將本次要講解的知識點拆分成需求點,由老師對這些知識點進行講解,后以任務形式下發(fā)給每個組。
以課程中的模型和數(shù)據(jù)庫這一章節(jié)為例,該章的重點為模型基礎以及數(shù)據(jù)操作的方法,難點為索引,以及關系的定義。按照傳統(tǒng)的講解方式先對相關概念進行講述,然后再進行相關作業(yè)的布置,難以達到教學目的,因此我們結合“Python 在線題庫”項目中的相關功能點去對上述的知識點進行梳理,得到一個個具體的需求。項目中有個功能為試題管理模塊,主要功能是具有試題管理權限的用戶可以添加、修改和刪除試題庫中的試題,那么其中的添加、修改和刪除試題庫中的試題就涉及本章要講的主要內(nèi)容,即模型和數(shù)據(jù)庫。要實現(xiàn)其功能相關功能,那么就要定義試題類型的模型,以及后續(xù)相關的數(shù)據(jù)庫同步操作以及增刪改查等操作,這個就是把要講的知識點融入“Python 在線題庫”這個項目中去。
講完之后,各個小組開始負責去做相關功能的設計以及實現(xiàn),其中,當實現(xiàn)過程中遇到不明白的問題,需要和老師溝通時,那么每個小組的產(chǎn)品經(jīng)理負責和老師來溝通,當需求明確了之后,再回各自小組去和成員進行講解交流,如此一來,每個小組中的產(chǎn)品經(jīng)理至少會對需求比較明確,且對知識點的理解比較深刻,由他負責向小組成員講解具體的需求點,即相關知識點。需求明確后,則由1 到2 人負責具體的開發(fā)實現(xiàn),實現(xiàn)過程中遇到的相關技術問題可以通過書籍查找、網(wǎng)上搜索、小組討論的形式解決,從而提升學生編程的實踐能力。最后再由一名學生擔任測試人員的角色,完成對開發(fā)出來的功能的測試,從而完善產(chǎn)品,比如查找的效率問題,可以引入索引。
由此可見,敏捷開發(fā)小組的不同成員都有不同的側重點,產(chǎn)品經(jīng)理側重需求,比較對理論知識點的把握更深入,開發(fā)者側重編程實踐能力,測試者側重產(chǎn)品的功能完整性和效率等。當然,每個敏捷開發(fā)小組的成員角色不是固定的,可以采取靈活的方式,在不同的迭代周期內(nèi)擔任不同的角色,從而助于對自身對于知識點的掌握,編程能力和產(chǎn)品功效性理解的全面提升。因此,在每一章節(jié)的教學實踐中,運用敏捷開發(fā)模式,基本分為拆分需求、實現(xiàn)開發(fā)、功能測試和成果驗收四個階段,流程如圖3 所示。其中的教學內(nèi)容以及實現(xiàn)產(chǎn)品相關軟件資源也可從線上教學平臺獲取,如圖4、5 所示。
圖3 敏捷模式教學實踐流程
圖4 教學內(nèi)容
圖5 開發(fā)軟件資源列表
教學中的每個迭代周期為一個學習周,每個周期內(nèi)布置的任務適量,周期內(nèi)能完成即可。下一周上課的前20 分鐘,可以由老師扮演驗收者的角色,每個小組選派一名成員,來向老師展示上個迭代內(nèi)完成的產(chǎn)品功能,通過產(chǎn)品功能的展示,老師可以得知學生學習的效果以期動態(tài)的調(diào)整任務的安排和知識點的講解,還鍛煉了學生之間相互協(xié)作以及表達溝通的能力。
第四是靈活的考核機制。由于教學班一般有4 到6 個小組,因此每次可以通過驗收來評選出做得較好的前三名小組對其進行一定的獎勵,比如平時成績小組成員都加5 分,獎勵一些學習物品等。再者既然強調(diào)過程性考核,就需要將平時考核占比調(diào)整比例稍大一些,比如提升至40%到50%,以強調(diào)過程控制和激勵。采取靈活的考核機制,可以把理論和實驗教學相互融合,充分調(diào)動學生學習的積極性。
實踐結果顯示,應用敏捷開發(fā)模式教學方法后課堂授課質(zhì)量得到了很好的提高。首先,學生學習更加積極主動,對于知識的掌握更加牢固,編程實踐動手能力提升很大,達到了理論知識與實踐編程相結合的效果,教學質(zhì)量有了很大的提高。但在應用敏捷開發(fā)模式教學過程中,也出現(xiàn)了一些問題。例如有些章節(jié)的內(nèi)容較多、任務安排過重,導致迭代周期內(nèi)無法很好地完成;有些知識點和產(chǎn)品的需求結合還做得不夠好,還可以再細致些;考核機制可以再多樣化一些,從更多的維度去考量評價,盡量做到公平公正,如實反映學生的學習水平和能力。因此需要針對這些問題和不足,在后續(xù)的教學中去改進,不斷完善這種教學模式,提升教學質(zhì)量。