【摘 要】本文基于微軟的.NET開發環境進行軟件開發高效而容易上手,但.NET開發相關課程的教學大多還停留在“理論+實驗”的任務驅動階段。本文提出將一種新穎高效的“項目驅動”教學法應用到.NET開發課程中,并結合筆者多年指導暑期技能實訓的教學實際,總結了項目驅動教學法的優缺點。
【關鍵詞】項目驅動;教學模式;.NET
0 引言
隨著軟件開發技術的發展和軟件工程概念的引入,計算機軟件的開發已經從原來簡單的程序實現發展到現在的系統性項目開發。而軟件項目的開發按照軟件工程的思想應該包括需求分析、概要設計、詳細設計、編碼實現、測試和維護這幾個階段。因此,現在的軟件開發是個多目標、多任務的系統工程。
同時,基于微軟的.NET開發環境進行軟件開發涉及到多方面的技術,包括軟件工程、頁面技術、數據庫技術、面向對象編程等。
要讓學生能夠運用多種技術進行系統性地軟件開發,傳統的“理論+實驗”教學模式已經不能滿足教學需求。這里提出采用一種高效的、更系統化的、可實現多任務集成的教學方法——“項目驅動”教學法,運用到.NET相關課程和實訓教學中。
下面就“項目驅動”教學法的概念、可行性和具體實施方法作詳細介紹。
1 “項目驅動”教學法概述
“項目驅動”教學法包括兩層含義,即“項目導向”和“任務驅動”。更具體的內涵是項目需求引領下的多目標多任務驅動教學法?!绊椖繉?,任務驅動”是 2003年7月德國聯邦職教所制定的以行動為導向的一種教學形式,最早見于美國教育家凱茲和加拿大教育家查德合著的《項目教學》一書。[1]
“項目驅動”是一種建立在瑞士心理學家J.Piaget提出的建構主義理論基礎上的教學方法。建構主義學習理論認為,學習是總結個人經驗而不斷重構個人的理解和知識的過程。將認知的重組看作是完成學習過程中的要素。這種認知的建構觀點把注意力集中于個人的同時,并不否認社會性交互作用的重要性。[2]基于這樣的理論,“項目驅動”教學法以項目目標作為指引,以學生為教學主體,教師及教學環境設置為學生建構自己的知識體系服務。
與傳統的教學方法相比,“項目驅動”教學法能更好地激發學生的學習興趣和求知欲望,充分調動學生的學習積極性和主動性,從而培養學生自主學習、分析問題、解決問題的能力和協作、創新、探索的精神。
2 采用“項目驅動”教學法的可行性
因為“項目驅動”教學法僅僅將教師授課等傳統的“自上而下”教學法作為輔助,故該方法一般只適合于注重實踐的綜合性課程,而像離散數學、算法分析、數據庫原理等基礎理論性課程并不適合采用。所以有必要在運用“項目驅動”教學法之前分析一下該方法在特定課程中的可行性。
首先,從.NET相關課程的特點看。.NET開發所涉及到的課程主要有面向對象程序設計、ADO.NET、ASP.NET、數據庫應用開發等。這些課程都比較注重實踐和發揮學生的主觀能動性,所涉及到的理論知識部分大多是分散的淺層知識點,不一定需要教師系統地講授,學生可以通過多種方式的自主性學習而獲得。這些課程特征剛好與“項目驅動”教學法相吻合。
其次,從學生已有知識結構層面看。一般高校都將.NET開發相關課程安排在大二之后,在這個時間點,學生應該已經系統地學習過離散數學、數據結構、高級程序設計語言和數據庫原理,而這些專業基礎課程剛好是學習.NET開發不可或缺的知識。當然,這一點需要高校在制定相關專業培養計劃的時候有一個明確的先修課程規定。
最后,從教師素質角度來看。運用“項目驅動”教學法要求以學生為教學主體,但并不意味著教師在整個教學環境中的作用降低了,恰恰相反,“項目驅動”教學法對教師的要求更高。其不但要求教師要掌握.NET開發所涉及到所有課程內容,還要求教師能融會貫通這些課程知識并指導學生正確運用到項目中。甚至,有高校在給學生做企業化的相關實訓指導的時候,要求教師掌握一定的企業開發流程和規范。
3 “項目驅動”教學法的實施步驟
“項目驅動”教學法以學生為教學主體,以項目需求為最終教學目標。根據這個原則這里設計了下面的具體實施步驟,并且已經運用在本人指導的暑期技能實訓中。
3.1 明確項目需求
包括用戶需求和技術需求。其中,用戶需求是軟件工程技術領域的問題,這里主要明確技術需求。如在.NET開發項目中,主要涉及到C#語言、ASP.NET、ADO.NET等技術。這部分工作主要由教師在課程開始前完成。
3.2 知識準備
在明確了項目需要的技術之后,下面應該根據學生已有的知識結構安排需要補充的技術知識。
在這個過程中,教師是學生在開發軟件項目過程中的技術支持者,可以事先為學生準備相關的技術文檔。當然如果有的技術學生比較陌生或者比較難掌握,教師就應該對這部分知識進行有針對性地高效地講解,不求全面,只需將重點放在與項目相關性較高的內容上。這里最好采用“任務驅動”教學模式,即將需要掌握的知識點組織成一個個實驗任務,讓學生在完成實驗任務的過程中掌握知識,這樣有助于提高學生的學習興趣和主動性。
3.3 項目設計與實現
這一過程是整個“項目驅動”教學的核心階段,也是體現前面知識準備成果的階段,更是學生自主學習、獨立解決問題并積累開發經驗的關鍵階段。
在這一階段,因為學生普遍缺乏項目開發的實戰經驗,故需要教師首先引導學生并與學生一起完成項目的分析和概要設計,給出項目的概念模型并組織成文檔,作為將來學生自主完成開發的依據。
接下來是學生進行自由分組。分組原則是“自愿、協作、高效”。教師進行適當人員協調。
然后以開發小組為單位,學生運用已學的軟件工程、數據庫原理等知識對系統進行詳細設計,并由教師對每個小組的詳細設計方案進行評價,綜合各小組方案的意見得到項目的物理模型。
最后就是各功能模塊的實現,由學生獨立完成。當然,可以視項目規模適當地將項目模塊分配到開發小組。如果項目具有一定的難度,還可以由教師詳細指導學生去完成一個典型模塊。
3.4 項目評價與考核
最終的項目評價可以和課程的考核結合起來,項目評價分數作為課程成績的一部分。而項目的評價需要考查項目最終的功能、界面及文檔這幾個方面,其中項目的功能是考查的重點,可以分配較高比例的分值。
項目的評價具有一定的主觀性,特別是像界面設計部分。因此教師應該有一個盡量詳細的統一評分標準,并事先公布出來。這樣才能做到公平公正。
4 總結
“項目驅動”教學法以項目為指引,在學生自主地分任務分階段完成整個項目的同時,綜合掌握多方面的知識。該方法非常適合像軟件開發這樣的綜合性的、注重實踐的課程,許多工科專業的應用型課程都適用?!绊椖框寗印苯虒W法有利于提高學生對知識的綜合運用能力,增加學生的項目實戰經驗,為將來更好地適應企業環境打基礎。
【參考文獻】
[1]王秀芳.項目導向任務驅動的.NET網絡應用課程開發實施研究[J].中國教育技術裝備,2012,27:102-105.
[2]溫彭年,賈國英.建構主意理論與教學改革[J].教育理論與實踐,2002,22(5):17-22.
[3]朱文耀.項目驅動法在ASP.NET教學中的創新應用[J].信息與電腦,2012,11:163-164.
[4]王玉萍,黃于欣.任務驅動法在VB.NET教學中的實踐與初步探索[J].科技前沿,2008,7:53,117.
[5]鐘愛國.項目引領任務驅動教學法的優點和缺點[J].考試周刊,2012,40:181.
[責任編輯:曹明明]
※基金項目:常熟理工學院教改項目《基于校政企合作的服務外包人才培訓中心建設研究與實踐》(CITJGGN201109)。
作者簡介:王劍(1979.05—),男,江蘇常熟人,理學碩士,常熟理工學院計算機科學與工程學院,講師,研究方向為數據挖掘。