劉 淳
(長沙民政職業技術學院軟件學院,湖南長沙410004)
《WEB應用開發》課程是軟件設計類專業的核心課程,主要是培養學生在IT企業中從事基于HTTP協議的B/S模式應用程序開發。對應工作任務為基于HTML的前端界面設計、基于JDBC的數據庫應用設計、基于JAVA的WEB服務器端程序設計(JSP、SERVELET、LISTENER、FILTER 等)。調研發現,過去在這門課程教學中,存在教學內容選取很不合理、實踐教學環節薄弱、考試評價體系不客觀等現象。具體表現為:教師團隊理論水平較高但缺乏項目開發經驗,教學過程和教學方法基本沿用本科教學方法和模式[1],理論知識講解較多,真實開發過程和技能講解較少,教學內容都是程序設計語言的相關知識為主,注重的是程序語言的本身而不是程序設計語言的應用。這樣的后果是學生學習積極性不高,學好理論知識后也不能用所學理論解決實際問題,學完后無法真正開發具體項目,畢業后無法適用企業具體工作任務。這也是企業總是抱怨大學畢業生動手能力差的根本原因。為此,我們課程團隊針對高職學生的特點(成績差、不愛學習)及計算機軟件設計專業的培養目標(軟件設計應用型人才)對課程的教學模式、教學方法、實踐教學環節設計等方面進行深入研究與探素。
老師的能力結構直接影響課程教學質量。在軟件設計類課程教學中,教師不但需要對理論知識的充分理解還要有豐富的企業級項目的開發經驗,否則,教學過程只會是完全按教材和PPT講解,無法把握教學內容的重點和難點,更不能引導學生將所學知識用于解決實際問題。比較研究發現,一個具有豐富經驗的教師和一個沒有項目開發經驗的教師在教學效果上有顯著差別。本研究提出的解決辦法:
從IT企業引進有經驗的教師。理論上講,這是一種有效的辦法,但實際上由于目前的教育管理體制的約束(只能引進高學歷高職稱)及學校薪資的現狀,具有高學歷高職稱的企業一線軟件設計師不可能到學校來任教。
學企合作。學校與企業合作,由企業派一線軟件工程師參與教學過程,主要完成課程最后階段的課程綜合實訓。這種方法有一定的可行性,也是國內高職學校正在努力的方向,但這種合作模式中,國家沒有相關的激勵政策,對于以贏利為目的企業來說,積極性不高。
(3)提高本校教師實踐能力。由課程負責人或專業帶頭人組織年輕教師參與項目開發,完全按企業軟件開發規范開發真實的軟件項目,并且每3年開發一個新項目,項目來源可以是學校的信息化管理系統或企業委托的橫向項目,經過一到二個項目的開發,年輕教師可以積累一定的項目開發經驗,不但可以熟識項目開發過程,還可以掌握教學過程中的重點、難點及技能、技巧。
課程團隊在進行國家級精品《WEB應用開發》課程建設中,提出一種新的教學模式:“基于全真項目和軟件設計過程的逆向教學模式”[5,6],如圖3-1所示。

圖3 -1基于全真項目和軟件設計過程的逆向教學模式
“基于全真項目和軟件設計過程的逆向教學模式”的主要思想是:將全真的軟件設計項目與《WEB應用開發》課程涉及的知識和技術相結合,重構案例化的課程教學模塊。教學過程中首先給學生演示一個全真案例中與課程教學單元相對應的功能模塊[6],如在《WEB應用開發》課程教學中的HTML學習中,演示一個登錄或注冊功能模塊,讓學生了解本單元學習中,要學會類似于案例中功能的實現(提出問題)。第二階段,給出參考代碼讓學生完成相應功能(試著做),學生完成這一步,會有一定成就感,但并不知道為什么是這樣做,于是就有了后續學習的興趣。第三階段,講解理論知識和技術,通過這個階段學習,讓學生掌握案例中用到的相關概念、理論、技術(關鍵技術)。這個階段涉及的知識和技術不會太多,但可以解決實際應用中的大部分問題,而且學生容易記住和理解,克服學習的心理恐懼感。第四階段,學習案例中沒有涉及到的常用知識和技術(擴展技術),通過特殊問題的引導,幫助學生學習特殊問題的方法和技術。第五階段,用另一個類似的真實案例,演示程序運行結果,但不給學生提供代碼,讓學生自己完成相關功能(學著做),學生完成相關功能后演示自己的成果,作為模塊學習的階段性測試成績。第六階段,給出一個新項目的設計文檔,不給代碼也不給程序動行效果,完全由學生自己完成,讓學生用所學知識和技術解決實際問題。
基于JAVA平臺的Web開發技術涉及內容很多,學生在校期間不可能把所有技術和知識都學上,所以教學內容的選取應該在考慮專業培訓目標和課程培養目標的基礎上,合理選取重點、實用的教學內容并遵循技術與知識先進的原則。基于IT企業對基于JAVA平臺的Web應用開發這一具體的工作任務確定《WEB應用開發》課程的培養目標如圖4-1所示。

圖4 -1《WEB應用開發》培養目標
在具體教學內容設計中,還應該與相關行業企業合作,探討課程具體的知識點和技術點,有效保證課程體系的針對性、實用性、先進性、系統性;課程團隊要有針對性地開發相關全真案例,并將案例嵌入到教學內容中。
過去教學過程一般是以知識的系統性和連續性來序化教學內容,在《WEB應用開發》課程改革中,我們按軟件開發流程來序化教學內容,并重構相關教學模塊,如圖5-1所示。

圖5 -1《WEB應用開發》模塊化設計
本課程以WEB應用項目開發中各種組件(視圖、控制器、模型、監聽器、過慮器)的設計要使用的技術為依據,以真實WEB應用開發項目為載體,以職業能力培養為重點,將課程內容序化為相關的項目教學單元,以工作流程為學習任務,以項目案例為學習情境,采用基于全真項目和軟件設計過程的逆向教學模式和全真案例教學方法組織教學過程[4]。
為了增強在校學生軟件開發的實際能力,《Web應用開發》課程采用課堂實訓、虛擬公司實踐、企業實習多位一體的實踐教學體系,如圖6-1所示。

圖6 -1《WEB應用開發》實踐教學體系
課堂實訓:課堂實訓采用說明性例題、模仿案例、真實項目等多種形式,一般由由教師指導完成一個小功能,驗證性學習相關理論或技術的應用,之后由學生模仿完成真實軟件項目中功能模塊或軟件組件。
(2)虛擬實訓:學生通過案例模仿學習最常用、最關鍵的知識和技能,之后教師以點(關鍵知識點)帶面,講解相關知識,再由教師提供新的項目,學生在課后時間可以自行完成項目的設計、編碼、測試,也可以到虛擬的軟件公司(老師為學生開放的項目工作室)完成項目。
(3)校外實訓(頂崗實習):學生到實習單位,參與實習單位的真實項目。項目由實習單位定。
7、革新考試方法,構建多維度全方位綜合評價體系
課程測試不僅是測試學生對所學知識的掌握情況,更是對學生學習的一種引導。革新過去以筆試考試為主的考試方法,采用全真案例考試對軟件設計類課程非常必要,本研究提出以項目考試為主、筆試考試為輔的考試方法,并輔以平時考查,構建多維度全方位評價體系,如圖6-1所示。

圖6 -1多維度全方位評價體系
多維度全方位評價體系打破了過去評價方式的弊端,既考查了學生任務完成情況(結果)、也考查了學生學習態度(過程),還能引導學生培養團隊協作精神,以點帶面充分調動了團隊的參與意識,多角度全面考察,更加客觀科學。
[1]楊鳳敏,梁文東,潘嫣麗.高職院校打造學習型班級的問題與思考[J].廣西輕工業,2007,(6):114-115.
[2]徐大華.程序設計語言教學方法探討[J].高等理科教育,2007,(1):36-38.
[3]牛軍濤.以項目為導向的軟件開發課程教學模式研究與實踐[J].計算機教育,2007,(8):85-88.
[4]史勁.學分制背景下模塊化教學在軟件技術專業中的運用[J].科技風,2009,(23):25.
[5]劉彥姝,唐乘花,張克儉.引入印度NIIT構建教學新模式[J].計算機光盤軟件與應用,2012,(3):232-233.
[6]劉淳.基于工作任務的逆向循環教學模式研究[J].長沙民政職業技術學院學報,2011,(1):83-84.
[7]連雁平.應用型本科院校程序設計課程實踐教學改革[J].內江師范學院學報》,2013,(8):88-91.