摘要:本文針對開發類程序設計課程的特點與教學現狀,提出了一種基于“項目驅動”的實踐教學方法。在說明該教學模式特點的基礎上,對其進行了可行性分析,并對項目驅動的實踐教學過程進行了研究與探索。
關鍵詞:項目驅動;實踐教學;面向對象;生命周期開發方法
中圖分類號:G642文獻標識碼:B
文章編號:1672-5913(2007)08-0025-03
1 引言
在開發類程序設計課程中,最適合初學者學習的便是Visual Basic(簡稱VB),它是第一個可視化編程開發工具。就VB本身的特點而言,它概念多、實踐性強、涉及面廣,既像其他程序語言一樣有其自身的語法和編程思維,又與傳統的面向過程的驅動語言有所不同,最特別的在于它采取的是面向對象的事件驅動編程。傳統的程序語言教學通常以知識點的層次遞進為體系。對于VB程序設計而言也是這樣,它就是按照VB代碼基礎、程序基本結構、數組、過程、控件、文件、數據庫等知識點層次遞進方式來展開教學的。在學習每個知識點時,用一定的例題對知識點進行練習(其他開發類課程,例如PowerBuilder、Delphi等也有類似特點)。這種層次遞進的學習體系總體來說是符合人的認知規律的,但在VB的教學過程中,我們發現確實存在一些缺陷:
1.1 對知識應用缺乏整體感
在層次遞進的知識學習過程中,無論是理論知識的學習還是實際應用,通常都是面向局部的,這很容易使學生缺乏整體感。就像描繪一幅人的肖像一樣,如果只顧描繪各個部位,沒有整體的協調和統一,就無法完成一幅令人滿意的作品。如果按部就班地學習VB程序設計的各個知識點,而沒有依托一個完整的實際項目,就會使知識點的學習支離破碎,不成體系,學完以后也容易遺忘。
1.2 缺乏實際項目的開發體會
在層次遞進的知識學習過程中,強調的是各個局部知識的理解和掌握,而忽視了這些知識的綜合利用,忽視了學生利用知識描述和解決實際問題能力的培養。試想,如果醫學院的學生只學習理論知識,而不去臨床診斷,不去學習如何綜合地考察一個病人,那他是做不了醫生的。同樣,學習VB程序設計,如果只停留在知識點的學習和例題的練習上,而不去經過實際項目開發的歷練和體驗,就無法直接感受所學知識在實際工作中的作用和地位。這種學習還會抑制學生的學習興趣,影響學習效果。
2 項目驅動教學法
項目驅動教學法是指在教學中引入若干個項目案例,按照實際軟件開發中的方法與步驟展開教學。
軟件項目開發的主要方法有:傳統的生命周期的開發方法、面向對象的開發方法、可視化的開發方法等。因為VB本身是面向對象和可視化開發的典型工具,學生通過整個課程的學習會逐步認識面向對象和可視化開發方法的主要特征,所以我們采用的項目驅動教學法還是選擇了學生比較容易接受的傳統生命周期軟件開發方法作為教學設計的主線,其間再貫穿介紹面向對象和可視化的軟件開發方法。
傳統的生命周期開發方法把軟件開發周期劃分為若干個階段,每個階段有相對獨立的任務,然后逐步完成每個階段的任務。各個階段的工作按自上而下,從抽象到具體的順序進行,傳統的生命周期開發方法可以用如圖1所示的瀑布模型來模擬。

3 “項目驅動”教學模式的特點
3.1 創造項目實踐環境
在“項目驅動”教學過程中,學生在導師的帶領下,一邊進行專業理論知識的學習,一邊進行實際的應用項目開發。學生一直處在能主動學習、自主學習、相互學習、積極溝通、不斷實踐的學習環境中。學生在實際軟件項目的驅動下,帶著問題學習理論知識和開發技術,學習導師在項目實踐中的思維能力、問題求解能力和處理復雜任務的能力。通過這個教學過程,學生的專業技能、開發素養將隨著問題的求解和任務的完成得到整體提升。
3.2 教師成為導師
基于“項目驅動”的教學把知識轉化為理論和技能相結合的教學方式,在這種教學方式下,教師不再是知識和理論的簡單灌輸者,而是發揮著導師的作用,循序漸進地引導學生在實踐中學習理論,在實踐中消化理論,應用理論,在實踐中掌握知識。在工作室中,學生按項目被分成若干小組,各小組的活動在導師的指導和監控下進行。在項目驅動教學中,教師首先扮演著“信息庫”的作用,學生接受項目后,教師除隨時給學生補充必要的理論和技能知識信息外。更重要的是在整個項目開發過程中,適時啟發、解決學生在學習和實踐過程中存在的各種個體問題,激發他們的學習和創造熱情,引導學生盡快進入角色和狀態。幫助學生明確項目的目標,掌握理解項目開發的總體思路和全部過程。
3.3 強調能力的培養
基于“項目驅動”教學的主要目的是加強學生軟件應用開發能力的培養。通常,實踐性知識是一種隱性知識,我們倡導“項目驅動”教學正是希望通過“項目驅動”教學過程中的諸項要素和功能,使得一些隱性的思維過程,特別是隱藏在軟件開發過程中的一些核心要素和策略顯性化,而這些往往正是軟件開發核心能力的重要體現。通過軟件工作室的學習,學生將逐步具備軟件應用開發的各種基本能力,系統維護和配置能力,團隊合作精神,使我們培養的學生真正實現與社會無縫連接。
4 實施“項目驅動”教學的可行性
4.1 開放的實驗環境——軟件工作室
在傳統實驗教學中,基本上是以老師為主體,學生按照老師規定的實驗要求和步驟被動地接受知識和技能。而在項目驅動的教學環境——軟件工作室里,學生在學習知識、技能和實施項目計劃的過程中,能夠有更獨立、更自由的廣闊空間。在工作室中,所有的知識講座、技術交流、專題討論、領域知識學習等各項教學活動都是開放的,學生允許跨項目組、跨工作室學習,學生隨時可以走上講臺闡述自己的觀點,發表自己的感想,交流自己的經驗,尋求需要的幫助。在整個學習和開發的過程中,團隊發揮著重要的作用。在這里,老師傳授知識的唯一作用在淡化,而更多的是引導,培育學生學習新知識的能力。對學生出現的問題通常并不是直接告訴學生,而是提供解決問題的途徑,讓學生利用團隊的力量自己去解決問題。在這里,學生的學習積極性得到了充分的釋放和發揮,學生的學習個性得到了有效的保護和張揚,學生的團隊合作精神得到了很好的培育和加強。
4.2 豐富的網絡資源
軟件工作室的每一臺計算機都已接入了局域網且全部與校園網相連,這為學生提供了很好的網絡學習平臺。在學院網站上提供了各種豐富的網絡學習資源,包括網絡課程、電子教案、實驗指導、在線測試以及歷年來軟件學院各屆畢業生完成的近120項應用軟件系統等,這些資源面向工作室的同學全部開放。同時,導師非常注重教育學生如何利用網絡學習解決問題的新知識,尋找解決問題的新途徑,求助解決問題的新方法。
4.3 雄厚的師資力量
項目驅動教學對教師的綜合素質提出了更高的要求。作為工作室的導師,不但要有能力獨立地從事相關教學科研工作,還要能夠組織和帶領學生對外承接項目,進行真刀真槍的項目開發,開展對外社會服務,并以項目為主線組織專業教學。為了實施項目驅動教學法,學院除嚴把進人關外,(所進人員必須是碩士學歷以上且滿足三能要求,即能教學,能科研,能開發)還在全院開展了學歷學位提升、進修訪問、校企合作、各種學術講座和技術交流,以及經常性的教研、科研和讀書等活動,以不斷提高導師的教學、科研和應用開發能力。另外,學院還聘請了一批著名軟件企業的高級專家為學院的兼職教師,內外教師的互動,不僅為工作室的教學增添了活力,也極大的加強了學院面向應用的總體實力。
5 “項目驅動”教學實施過程
5.1 項目設計
導師根據教學進度和教學計劃,選擇難度適中的項目,將該項目分成若干相對獨立的子項目分配給學生,并圍繞項目準備好相關的理論知識、領域知識和技術知識等。項目一般來源于教師的縱、橫向課題,學院承接的對外服務或經典教學項目等。
5.2 實施的形式
學生在經過兩年的基礎知識和專業知識學習后,三年級進入軟件工作室進行為期一年的學習與開發工作。在工作室中,除少部分涉及開發的公共理論知識和工程知識由導師統一講授外,其他學習將圍繞項目以自主學習、協作學習,面授輔導、答疑、小組研討、調查研究、技術交流等多種形式組成,具體實施根據教學內容和學生的認知情況靈活掌握。目的在于利用各種信息技術提高教學質量、教學效率,培養學生的自主學習能力、研究能力、創造性思維能力和創造性實踐能力。自主學習不是由導師直接告訴學生應當如何去解決面臨的問題,而是由導師向學生提供解決該問題的有關線索(例如需要搜集哪一類資料、從何處獲取有關的信息資料以及現實中專家解決類似問題的探索過程等)。如果學生在學習過程中遇到問題,教會學生如何通過電話、電子郵件、BBS和在線討論等方式與同學、導師甚至社會進行探討和交流。特別要教會學生如何到浩瀚的Internet網絡中去搜索、查詢自己需要的資料,不斷提高自己的程序設計能力。協作學習是在個人自主學習的基礎上進行小組協商、交流、討論等,并通過不同觀點的交鋒,補充、修正、加深每個學生對當前問題的理解。通過這種合作和溝通,學生可以看到問題的不同側面和解決途徑,從而對知識產生新的洞察。要特別提倡啟發和誘導學生自己去發現規律,自己去糾正錯誤和補充不足,逐步培養學生自主學習自我學習的的能力和習慣。
5.3 成績的評定
學習成績評定是工作室學習的重要環節,我們要求成績評定應具有激勵、反饋、導向三大功能,成績評定應有利于學生的進一步發展。因此,相應的成績評定體系在評定內容上應該重視學生解決實際問題的能力、創新能力、實踐和動手能力的體現,應該重視學生良好的心理素質、科學精神、認真負責的工作態度、積極向上的學習熱情等方面的體現。對于學生中出現的閃光點,導師更應積極評價并加以肯定。
在工作室中,成績評定采用項目答辯的方式進行。首先,每個項目小組推薦一名學生在工作室里進行主答辯,并演示作品,其他學生進行補充,導師和其他小組的同學可以隨時向當前正在答辯的項目組的任一學生進行提問,最后結合項目的難度和答辯情況給每個項目和學生做出最終的考核成績。
6 總結
基于“項目驅動”的教學模式在江西師范大學軟件學院已經實施三年了,實踐表明,這種以項目為主線,以學生為主體,以導師為核心,以工作室為環境的教學模式有利于培養學生的軟件應用開發能力,有利于培養學生的創新能力和實踐動手能力,有利于培養學生的團隊合作精神,有利于加強學生的個性化教育和極大提高學生自主學習、自我學習、相互學習的學習熱情。今后,我們將進一步加強“項目驅動”教學中課程體系及其內在關系的研究、進一步加強“項目驅動”教學與畢業設計銜接以及與導師科研和產品研發的關聯研究,進一步加強“項目驅動”教學的網絡教學平臺搭建及有效利用的研究,以使這項教學改革不斷完善和成熟。
參考文獻:
[1] 雷剛,黃明和,尹紅.培養創造應用型軟件人才的幾點建議[J].全國高等院校計算機基礎教育研究會優秀論文集,2004,(1):45-48,2004.8.
[2] 黃明和,雷剛,郭斌等.面向應用的軟件工程專業教學模式改革研究與實踐[J].全國高等院校計算機基礎教育研究會優秀論文集, 2006,(1):687-691,2006.7.
[3] 黃曉玲,段鳳云,趙建科.基于“項目目標法”的實踐教學[J].實驗室研究與探索,2006,25,(3):280-286.
[4] 曾煌興,周曉宏.項目開發教學法的教學設計策略及其應用[J].職教論壇,2005,(6):55-57.
作者簡介:
柯勝男(1981-),女,工程碩士,助教,主要研究方向為軟件工程理論與技術、面向對象技術等。
黃明和(1955-),男,碩士生導師,教授,主要研究方向為面向對象技術、網絡計算技術等。
雷剛(1974-),男,工學碩士,講師,主要研究方向為軟件工程理論與技術等。
(*本研究受江西師范大學實驗基金課題立項資助)