摘要:結合實際教學體驗和教改體會,提出軟件工程專業多課程協作項目驅動教學模式,闡述該教學模式的基本思想和教學實施方案,介紹湘潭大學軟件工程專業實施該教學模式的案例。
關鍵詞:軟件工程;課程協作;項目驅動教學
2001年,IEEE發布的計算學科教學規劃把計算學科劃分為計算機科學、計算機工程、軟件工程、信息系統、信息技術和其他有待發展的學科等子學科,這標志著軟件工程這個名詞作為與計算機理論相對應的各種軟件實踐技術的總稱,在世界范圍內得到公認。我國在2001年底推出了示范性軟件學院計劃,把軟件工程專業定位在面向軟件產業培養高素質的工程型軟件實用人才。
目前,國內開設軟件工程專業的高校眾多,但在教學過程中,很多學校仍存在這樣的情形:部分教師長期工作在高校,理論水平較高,但缺乏實際工程經驗,講授課程仍偏于理論;部分教師雖然認識到社會的真實需求,并通過項目驅動等方法來開展工程實踐類課程教學,但是,教學內容往往局限于自己所承擔課程,而不能從軟件工程的全局角度對知識進行講授,由此,導致學生知識體系離散,對軟件開發過程的整體把握能力不強。
針對以上情況,本文提出多課程協作的項目驅動教學模式,對該模式的基本思想和教學實施方案設計進行闡述,并對該教學模式的實施案例進行介紹。
1 多課程協作項目驅動教學的基本思想
所謂項目驅動教學法,就是在建構主義教學理論指導下,按照“案例導向、項目驅動”的設計思想,以項目開發為主,課堂教學為輔,模擬軟件企業先進的軟件項目管理和開發過程,進行應用軟件的開發實踐。
項目驅動教學是當前高校軟件工程專業比較推崇的教學模式,在工程實踐類課程的教學上,多數高校都不同程度采用該教學方法。但是,在教學實踐中,我們發現一些問題,例如,不同的教師雖然能夠按照軟件開發流程和規律授課,使內容之間保持密切聯系,但在教學實踐中,由于主講教師的不同或學習階段的不同,知識常常被割裂。項目驅動教學法對增強學生學習積極性、提高學生實踐能力有明顯效果,但是,在課程中引入過多不同的項目,并在項目間頻繁切換,學生思路容易混淆,另外,項目問的重疊也給學生帶來了不必要的負擔,學生很難從全局角度深入把握項目的完整流程,傳統項目驅動教學如圖1所示。

軟件工程是一門綜合性、實踐性很強的專業,其知識體系各環節之間存在緊密的聯系。我們認為,加強教師教學協作與交流,通過少數知識面覆蓋廣泛的典型項目,將軟件工程專業中各實踐類專業課程跨學期串聯起來,可以成倍放大項目驅動教學的功用。這種教學方式也可以加強學生對軟件開發過程的整體認識,使其充分、綜合地運用所學專業知識,提高學生解決現實復雜問題的能力,此即多課程協作項目驅動教學模式的基本思想。基于該教學模式的教學進程情況如圖2所示。

與常規項目驅動教學相比,該教學模式最大的特點在于:所采用項目是經過特殊設計和優化的,除具有突出的可供課程教學的特定知識點外,更加注重項目包含知識點的廣度與延續性,力求關聯多個學期不同課程的教學。在實踐類相關課程采用該教學模式后,教學進程主要以項目開發流程為主,弱化學期的概念,以往在同一學期內并行的課程,會出現同學期內區分階段、錯開教學的情形。
2 教學實施方案設計
軟件工程專業多課程協作的項目驅動教學,對高校傳統的按課程、分學期進行知識講授的教學模式進行較大的改動,因此,在實施過程中,整個教學方案要作出相應調整以適應新教學模式的特點。軟件工程領域各種技術快速發展,而傳統教學模式卻存在嚴重滯后的弊端,所以,采用該教學模式時要對整個教學實施方案進行持續的改進,緊跟軟件工程的發展步伐。教學實施方案構成如圖3所示。

下面,我們對本文教學模式實施方案中的各構成部分作介紹。
2.1 課程分析
在引進項目驅動法進行教學實踐的時候,不同課程的知識點經常會有交叉,在教學中,不同教師的課程引進不同的項目,并在項目間頻繁切換,學生的思路容易混淆,另外,項目間的重疊也給學生帶來了不必要的負擔。為實施多課程協作的項目驅動教學,我們有必要進行相應的課程分析,建立新的課程體系。
課程分析關鍵要解決以下幾個問題。
1)課程性質分析。
分析總結課程基本性質,抽取適合項目驅動教學的工程實踐類課程,適當增加實踐類選修課程的比例,使教師和學生有充分的選擇自由度和余地。
2)課程的時序拓撲關系。
根據軟件開發過程的實際情況確立課程教學的時序關系,厘清課程之間的關聯性與結合點。
3)課程的分類與組合。
將課程分類,每個分類代表了一個專業方向,課程按不同分類進行組合以便統籌教學。要注意的是,分類之間的部分核心課程可能存在重疊。
在課程的具體設置上,可以以專業應用能力為主線,將理論、技術和應用結合起來構建課程體系,采取“平臺+模塊”的課程體系結構,平臺即公共課程、專業基礎和專業核心課程平臺,模塊即在平臺基礎上進行專業方向分流。
2.2 項目庫建設
項目的設計是項目驅動教學的基本要素,項目選取的優劣直接影響到后續教學的開展和教學效果。項目設計要根據教學要求和特點,選擇合適的項目任務,使之具有可操作性,要對整門課程及各教學單元進行教學目標分析,以確定所學知識的“主題”,并按項目的內存規律進行整合。
為真正實現多課程的項目教學,我們需要建設一個知識覆蓋面廣、題材豐富的教學項目庫,所采用項目除按照上述標準進行構建外,還需進一步優化,在具備可供課程教學的特定知識點外,更要注重項目包含知識點的廣度與延續性,以關聯多個學期不同課程的教學。
在實際操作過程中,直接通過一個項目覆蓋所有相關課程的教學是不現實的。對此,我們可以采用教研小組的形式,共同設計數帚精簡的、能涵蓋多門課程內容的典型項目,各門諜程的教師都針對該項H內容進行本門課程的教學,由于項目是由多門課程的教師共同研討出來的,各門課程的教學實踐活動都由此項目統一驅動,以保證知識的整體性和連貫性。
在條件允許的情況下,學校應與企業聯合,引入適合教學的真實項目,或聘請具有豐富實踐經驗的工程技術人員參與項目設計和開發指導,這對項目庫建設是非常有益的補充和完善。
2.3 教學反饋與交流平臺構建
反饋與交流是教學過程中非常重要的環節,在反饋與交流中,教學計劃和進程得到完善并進行微調,以切合每一次具體的教學。
傳統教學反饋與交流主要表現為口頭反饋交流、習題講解、階段測驗、期末測驗等方式,這些方式都存在信息傳遞的滯后性,不利于交流反饋信息的統計分析和及時響應。為了實現更高效的交流,我們要引入先進的信息化技術手段,即通過信息化于段實現教學任務的發布、完成任務的在線提交、評價,以及教學雙方的互動交流,構建一個高效的教學反饋交流平臺。
教學反饋與交流主要包括3類。
1)師生之間的互動交流:
2)任課教師之間的交流;
3)學生之間的交流。
2.4 考核評價體系建設
傳統的課程考核主要是對教學結果的考核,對過程的考核則相對不足,單純的結果考核存在偶然性。新的教學模式需要以項目開發為中心,建立新的考核評價體系,考核的同時注重過程和結果。
具體的考核評價方案可以采用階段性任務考核與項目成果評價考核結合的方式進行。最終考核評價等級將由階段考核評價與項目成果考核評價的結果按一定權重比例計算取得,過程和結果的同時考核,保證了學生持續學習的動力,同時,也保證了指導教師對整個教學過程的持續引導,并做到全程可控。
考核評價方式以成果展示、項目成員答辯和指導教師代碼審查的方式進行,以功能實現完整度、代碼規范性、UI體驗、性能等作為關鍵評價指標。
2.5 具體教學實施
上述各項前導工作完成以后,我們可以開始實施具體教學。在實施過程中,我們通過4個任務模塊來完成整個教學進程。完整的教學實施過程如圖4所示。

其中,階段性項目教學與反饋、教研組交流與評判兩個步驟將經過多次的循環迭代,也就是說,項目的開發過程將細分為多個子階段,每個子階段由教學、實踐、反饋交流、評價等環節作為一個短周期,通過多個周期的快速迭代實現項目開發的最終任務。
3 教學實施案例
湘潭大學軟件工程專業從2007年開始探索多課程的項目驅動教學改革,并針對新的教學模式設計了一整套與行業發展接軌、強調學生工程實踐能力培養的課程體系,并付諸實施。
在教學實施過程中,我們通過自行開發的輔助教學平臺完成了網上項目任務發布、學生網上選題與分組、在線作品提交、教師在線評審、用戶在線交流等功能,每個項目都根據軟件開發進程劃分為若干子階段,每一個子階段都設置了任務完成結果提交的截止時間,超時者無法提交所完成的作品,這保證了教學過程的嚴謹、有序。教師可以直接從網上下載或查看學生所提交的作品,并進行項目評審、打分。
項目開發中的各子階段都有多次反饋與交流,因此,整個項目是構建在各子階段可靠的質量保證之上,因此,教學項目整體完成率較高。最終評審統計項目完成率一般保持在70%以上,其余學生也都能在不同程度上完成項目開發任務。
在該教學模式實施過程中,學生感到教學過程生動、內容充實,對軟件工程的理解以及軟件開發過程的整體把握能力有很大提高,就業競爭力得到提升。
4 結語
軟件工程專業多課程協作項目驅動教學改善了不同課程各自為政實施項目教學的狀況,特別設計和優化的項目將不同學期、不同任課教師的專業相關課程有機結合起來,在實踐中學習、在學習中實踐有效激發了學生的學習積極性、主動性和創造性,同時使學生系統體驗了軟件開發過程的完整流程,使他們的知識結構能夠適應軟件行業發展的需要,由此,學生能更快、更平穩的融入實際工作環境,與行業需求無縫連接,為日后的事業發展打下良好的基礎,這樣的教學效果充分切合了教育部對軟件工程專業的定位。

(編輯:郭小