陸悠 奚雪峰 華澤 陸衛(wèi)忠
[摘 要]本文根據(jù)計算機實踐類課程的目的和學生的特點,針對實際項目開發(fā)流程的需求和高校學生的具體情況,提出在計算機實踐類課程的學習過程中,以項目迭代開發(fā)流程為指導來設計組織教學內容和成績評定,突出知識的實踐性,學習的主動性,從而提高高校學生對計算機實踐類課程的學習效果。
[關鍵詞]迭代開發(fā) 計算機實踐課程 軟件工程
[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2013)08-0055-02
一、前言
計算機專業(yè)是實踐性、工程性很強的專業(yè),如何提高高校實踐課程的教學效果,銜接高校的教學與社會需求,是擺在高校教師面前的一項嚴峻的課題。
針對這一問題,本文提出一種軟件工業(yè)迭代開發(fā)流程驅動的實踐課程教學方法,將教學目標與實際軟件開發(fā)技術相融合,學生在各個階段的教學內容完成之后,以小組為單位,完成多個呈迭代關系的工程目標,最終實現(xiàn)一個具有一定綜合性、創(chuàng)新性的大型實踐項目。實踐流程及課程成績也完全以工程項目的標準來衡量,從而使學生能夠得到近似實際工程環(huán)境的鍛煉,促進學生自覺的運用已學習的課程知識點,提高實踐類課程的教學效果。
二、引入迭代開發(fā)驅動模擬項目的教學目的
以項目迭代開發(fā)的實踐需求為導向,將知識點融合于項目目標中,強化學生的實踐行為,通過這樣的教學方式,能夠有效地實現(xiàn)以下目標:
(一)符合軟件行業(yè)的需求
迭代式開發(fā)是指整個開發(fā)工作被組織為一系列的迭代小項目,每一次迭代都包括了需求分析、設計、實現(xiàn)與測試。這種方法彌補了傳統(tǒng)開發(fā)方式的弱點,具有更高的成功率和生產(chǎn)率,因此在過去20年來成為了國內外軟件工業(yè)主流的開發(fā)方式,然而目前的高校中,對迭代式開發(fā)大多局限于軟件工程課程的概念介紹上,較少在實踐類的課程中加以應用,學生對其難有切實的理解和鍛煉,因此,將迭代開發(fā)驅動的模擬項目引入實踐課程的教學能彌補以上不足,更好的滿足軟件行業(yè)對高校學生的需求。
(二)強化動手能力
《中國高等學校計算機科學與技術專業(yè)(應用型)學科教程(2009)》明確指出:“計算機科學與技術學科是實踐性極強的學科,必須培養(yǎng)學生具有很強的實際動手能力?!倍诮虒W中強化項目實踐能夠有效地提高學生的動手能力。
(三)提高自學能力
長期受填鴨式的教學影響,很多學生幾乎沒有任何的自學能力。而在模擬項目的實踐中,由于每個小組自己設計目標,一旦遇到實際問題就必須靠自己想方法,因此能夠鍛煉學生的自學能力。
(四)培養(yǎng)興趣
教學絕不能只是知識點的灌輸。通過模擬項目激發(fā)學生的興趣,使學生自覺自愿地為完成課程作業(yè)而廢寢忘食時,才能說此課程的教學是成功的。
三、模擬項目的教學組織方法
本文以“網(wǎng)絡程序設計(J2EE)”為例,在教學組織方面作了以下嘗試。
(一)基于迭代開發(fā)流程的教學內容組織
“網(wǎng)絡程序設計”是一門基于J2EE開發(fā)的實踐類課程,本文設計和組織教學內容主要包括:
1.場景設計
項目背景為某公司在不同的規(guī)模程度時期對網(wǎng)上平臺技術要求的變化過程,如表1所示:
從場景可看出,網(wǎng)上平臺技術要求的提升趨勢與J2EE的教學內容同步,能很好地與教學進度安排相融合。
2.教學課時安排和組織方法
作為一門實踐課,上機學時應達到所有學時的三分之一以上,而軟件開發(fā)中,項目初期的設計極為重要,因此安排所有學時的三分之一供需求討論、分析、概要框架的設計以及用戶手冊的編寫等步驟,實際的技術內容教學學時為剩余的三分之一。
具體組織方面,項目的每次迭代啟動前,教師需提供場景信息,安排學生團隊討論,進行需求分析,設計框架,完成詳細設計、實現(xiàn)以及測試,隨后完成用戶手冊等文檔工作。最后小組公開演示結果,通過全班學生和教師的評價之后完成迭代。
3.教學內容安排和迭代流程
課程的教學內容亦分成四個階段,分別有不同的教學重點:
第一階段教學重點是網(wǎng)絡程序的背景知識(如HTML、開發(fā)工具、環(huán)境配置等);
第二階段教學重點是基本網(wǎng)絡程序技術(如Servlet、JSP相關內容等)及數(shù)據(jù)庫等內容;
第三階段教學重點是成熟的開發(fā)范式的應用(如MVC框架應用,查詢推薦、優(yōu)化等);
第四階段教學重點是企業(yè)級應用的開發(fā)技術(如事務處理、企業(yè)級平臺以及EJB應用等)。
具體迭代流程可描述為圖1:
(二)學生的組織和管理
學生以團隊方式完成實踐,方案為:
第一階段,學生獨自完成內容并互相考評,互相了解,第二階段開始自由組隊,第三和第四階段則在前一階段組隊基礎上進一步進行合并。為避免團隊間能力差異,教師可對團隊進行微調。
此外教師還需在每次迭代前進行輔導。特別是在前兩個階段,教師應詳細介紹具體開發(fā)流程,甚至應包括如軟件工程、數(shù)據(jù)結構、團隊合作、項目管理等方面的知識,幫助學生做好分組工作,指派組長以及成員的工作內容等。
(三)教學效果的考核和評定
課程成績由考試成績和實踐成績組成,其中考試成績占30%,項目實踐成績則由演示考評、文檔組織、代碼質量等構成,其中公開演示考評占較大比重,由于演示需學生上臺陳述,也能培養(yǎng)學生口才等綜合素質方面的才能。
四、采用模擬項目后的教學效果
下面是部分學生在課后交流時談到的收獲與體會:
“以前課程都直接照書上指示做實驗,沒遇到過什么大困難。而這次遇到了許多沒接觸的實際問題。甚至剛剛解決一個就又出現(xiàn)一個新的問題。我從中體會到理論結合實際、培養(yǎng)動手能力的重要意義?!?/p>
“團隊能力絕不是隊員個人能力的累積,合作中的關鍵因素有:責任心、尊重對方意見、不互相埋怨等,再配以合理的分工,那么很普通的人組成的團隊,也可以釋放出超出累計的效果。”
“人對于沒做過不熟悉的東西多少有些畏懼,因此大家不了解自己的創(chuàng)造力和研究能力,通過這樣一個實驗讓大家更加地了解自己,增強了這方面的信心?!?/p>
五、結論
通過兩個學期的實踐,“網(wǎng)絡程序設計”這門課程取得了良好的教學效果,在該課程中,學生們完成了約4000~6000行的Java、JSP、Servlet和EJB等程序,期末考試的主觀題部分得分率達到58%,較以前有較大幅度增長。有理由相信,通過一系列實踐課程的學習,一個高校學生完全有希望達到成為一個有基礎的程序員的目標。
[ 參 考 文 獻 ]
[1] 李亞林,曾映蘭.計算機網(wǎng)絡專業(yè)實踐教學的改革[J].計算機教育,2011,(3):88-91.
[2] 魯榮波,李宗壽,賀宏遵,等.加快計算機硬件課程群實踐教學體系改革,提高學生實踐和創(chuàng)新能力[J].當代教育論壇,2011,(2).
[3] 薩默維爾著,程成譯.軟件工程(原書第9版)[M].北京:機械工業(yè)出版社,2011,(5).
[4] 中國計算機學會教育專業(yè)委員會.中國高等學校計算機科學與技術專業(yè)(應用型)學科教程(2009)[M].北京:清華大學出版社,2009,(11).
[5] 舒存葉.基于行動研究的《教育技術研究方法》課程改革與實踐[J].現(xiàn)代教育技術,2011,(4):48-51.
[責任編輯:左 蕓]