文/高榮
項(xiàng)目驅(qū)動教學(xué)在JavaEE課程中的應(yīng)用研究
文/高榮
為了有效改善目前JavaEE課程教學(xué)過程中遇到的學(xué)生缺乏興趣和基礎(chǔ)、教學(xué)積累較少、學(xué)生學(xué)習(xí)困難的問題,本文引入了一種基于項(xiàng)目驅(qū)動的教學(xué)方式,以企業(yè)實(shí)際需求為導(dǎo)向,以企業(yè)項(xiàng)目為骨架來精心設(shè)計(jì)課程項(xiàng)目案例,并通過課程網(wǎng)站、手機(jī)APP等方式收集和分析學(xué)生反饋的信息,有效提高了課程教學(xué)的效果。
驅(qū)動教學(xué);JavaEE課程;應(yīng)用研究
1.引言
隨著我國IT技術(shù)、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)的飛速發(fā)展和廣泛應(yīng)用,社會的各個行業(yè)日益重視和推進(jìn)信息化建設(shè)。目前企業(yè)信息化軟件多采用瀏覽器/服務(wù)器(B/S)結(jié)構(gòu),這種技術(shù)是隨著Internet技術(shù)的發(fā)展,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)。在B/S架構(gòu)下,用戶的工作UI是通過瀏覽器來實(shí)現(xiàn)的,只有很少部分的事務(wù)邏輯是在瀏覽器端實(shí)現(xiàn),主要的事務(wù)邏輯都在服務(wù)器端實(shí)現(xiàn)的,這樣就減輕了軟件維護(hù)和升級的工作量和成本,降低了用戶的使用難度和總體成本。目前B/S架構(gòu)的軟件的開發(fā)有多種方式,例如微軟的.net平臺,Oracle的JavaEE平臺,基于ruby的RoR框架,基于python的django框架,PHP的MVC框架等等。但是目前使用比較廣泛的還是JavaEE框架,例如京東一開始使用的是.net平臺,淘寶使用的LAMP平臺都在流量大增以后換為了JavaEE技術(shù)實(shí)現(xiàn)。因此學(xué)生掌握好JavaEE課程,養(yǎng)成良好的代碼規(guī)范,掌握好JavaEE課程核心的MVC架構(gòu)的概念和應(yīng)用,對于以后的工作和學(xué)習(xí)都有非常重要的作用。
目前已有許多人在研究和探討JavaEE課程的教學(xué)改進(jìn)。黃玉龍等人研究了面向卓越工程師的JavaEE課程教學(xué)的改革[1],艾勇等人使用了互動教學(xué)法改善學(xué)生學(xué)習(xí)JavaEE課程的效果[2]。趙彥使用了任務(wù)驅(qū)動進(jìn)階的方法提升教學(xué)效果[3],周運(yùn)研究了“真實(shí)項(xiàng)目、任務(wù)驅(qū)動、進(jìn)階教學(xué)、提高能力”的教學(xué)模式在教學(xué)中的應(yīng)用[4],高志升等人在教學(xué)中引入系統(tǒng)化方法取得了良好的效果[5],趙彥使用了進(jìn)階式教學(xué)法取得了一定成效。本文分析了目前JavaEE課程中存在的一些問題,并給出了針對這些問題的一些對策。
2.教學(xué)現(xiàn)狀
JavaEE是一門綜合性比較強(qiáng)的課程,涉及到Java語言的高級部分,例如注解、控制反轉(zhuǎn)、反射等內(nèi)容,以及數(shù)據(jù)庫、JSP、HTML4/5、JavaScript、編程模式、MVC框架、SpringMVC、struts、Maven、Hibernate等內(nèi)容。該課程內(nèi)容眾多,分配的課時(shí)一般不足以完成如此多的內(nèi)容的講授,尤其是學(xué)生在前驅(qū)基礎(chǔ)課程的學(xué)習(xí)中基礎(chǔ)不牢會導(dǎo)致后面的課程學(xué)習(xí)困難。JavaEE課程的知識點(diǎn)眾多,在教學(xué)方面存在如下困難:一、教材選型困難,由于課時(shí)限制和教材價(jià)格限制的原因,選擇適合學(xué)生的教材不太容易;二、學(xué)生運(yùn)用所學(xué)知識的能力較低,部分學(xué)生對于JavaEE課程的實(shí)際用途以及課程的重要性并不關(guān)心;三、課程涉及到的知識面非常廣,學(xué)生在學(xué)習(xí)的過程中容易局限在JavaEE的語法之中,學(xué)生容易只見樹葉,不見森林;四、JavaEE的課程結(jié)束以后學(xué)生往往無法直接進(jìn)入企業(yè)就業(yè),因?yàn)樗鶎W(xué)內(nèi)容往往不符合企業(yè)實(shí)際需求;五、學(xué)生調(diào)試程序的能力比較低,變通能力比較差,學(xué)生即使學(xué)習(xí)會了一個案例,但是當(dāng)讓學(xué)生獨(dú)立解決類似的問題時(shí),學(xué)生往往不知所措,無從下手。
在以往的教學(xué)中,采用傳統(tǒng)的圍繞JavaEE框架的核心技術(shù)教學(xué)的模式效果一般,學(xué)生反饋學(xué)習(xí)困難、不易掌握課程知識。為了解決這類問題,有效提升JavaEE課程的教學(xué)質(zhì)量,尋找行之有效的教學(xué)方法和模式就顯得尤為重要,JavaEE教學(xué)綜合了多門課程的知識,適合應(yīng)用項(xiàng)目驅(qū)動法進(jìn)行教學(xué)。在主講老師的指導(dǎo)下,把一個從企業(yè)實(shí)際需求演化來的項(xiàng)目交給學(xué)生自己處理。項(xiàng)目需求信息的收集、技術(shù)方案的設(shè)計(jì)、項(xiàng)目的實(shí)施及項(xiàng)目的最終評價(jià),都是學(xué)生組成的小開發(fā)團(tuán)隊(duì)負(fù)責(zé),這樣學(xué)生通過實(shí)際項(xiàng)目的分解和實(shí)施,從而了解并把握整個項(xiàng)目整個過程以及項(xiàng)目分解的每一個環(huán)節(jié)中的基本要求。在項(xiàng)目的實(shí)施過程中,建議采用先練習(xí)后講授、先學(xué)習(xí)后教學(xué)的方式,重點(diǎn)在于學(xué)生的自主學(xué)習(xí)和主動參與,學(xué)生從模仿開始入手,由練習(xí)開始項(xiàng)目,從而調(diào)動學(xué)生學(xué)習(xí)的積極性、主觀能動性和創(chuàng)造性等。學(xué)生是主角,而老師轉(zhuǎn)為配合,有利于培養(yǎng)學(xué)生的自學(xué)能力、獨(dú)立解決問題的能力以及創(chuàng)新能力。本文從多個方面對項(xiàng)目驅(qū)動教學(xué)法進(jìn)行了研究與實(shí)踐,取得了一定的效果。
3.項(xiàng)目驅(qū)動教學(xué)在JavaEE課程中的應(yīng)用
3.1合理選擇JavaEE課程使用的項(xiàng)目
課程使用的項(xiàng)目的質(zhì)量直接關(guān)系到課程教學(xué)的效果,因此需要采取多種措施來保證使用的項(xiàng)目的質(zhì)量。為了使學(xué)生在解決實(shí)際問題的過程中能夠獨(dú)立應(yīng)用課程涉及的所有知識,要求教師所設(shè)置的“項(xiàng)目”必須包含多門JavaEE前驅(qū)課程的知識。
(1)貼近企業(yè)實(shí)際,精心設(shè)計(jì)項(xiàng)目
改變以往傳統(tǒng)教學(xué)方式圍繞JavaEE的核心技術(shù)框架展開教學(xué)的模式,以學(xué)生將來工作崗位的實(shí)際需求為導(dǎo)向,不僅要教會學(xué)生學(xué)會JavaEE的基礎(chǔ)知識,還要教會學(xué)生靈活運(yùn)用所學(xué)的知識完成JavaEE框架Web項(xiàng)目的開發(fā)、測試、維護(hù)等實(shí)際任務(wù)。教學(xué)模式轉(zhuǎn)為全面貼合企業(yè)實(shí)際需求,最近幾年來主講教師與多家企業(yè)建立了緊密的聯(lián)系,幫助企業(yè)進(jìn)行信息化規(guī)劃,同時(shí)幫助企業(yè)進(jìn)行軟件系統(tǒng)的開發(fā),課程所用項(xiàng)目完全來自合作企業(yè),同時(shí)擔(dān)負(fù)著為合作企業(yè)培養(yǎng)和輸出人才的任務(wù)。課程的教學(xué)按照企業(yè)軟件的實(shí)際開發(fā)過程進(jìn)行。課程掌握比較好,也即項(xiàng)目完成較好的同學(xué)都可以被推薦到比較好的企業(yè)就業(yè),就業(yè)質(zhì)量得到大大提升,畢業(yè)以后學(xué)生的起薪遠(yuǎn)遠(yuǎn)高于普通班畢業(yè)的同學(xué),這些實(shí)際情況刺激了同學(xué)參與項(xiàng)目的積極性,形成了良好的滾動發(fā)展。
(2)注意跟蹤主流開發(fā)技術(shù),及時(shí)更新項(xiàng)目
目前隨著IT技術(shù)的飛速發(fā)展,JavaEE的開發(fā)技術(shù)也與時(shí)俱進(jìn),大量的技術(shù)層出不窮。例如Spring框架,目前已經(jīng)出現(xiàn)了大量的分支,這些分支也正是目前企業(yè)開發(fā)所急需的技術(shù)。例如Springmobile、Springsocial、Springdata、Springforandroid等,這些技術(shù)也可以在合適的時(shí)候引入課堂,幫助學(xué)生掌握最新的技術(shù)進(jìn)展,從而在找工作的時(shí)候能夠占據(jù)一定的優(yōu)勢。因此課程的內(nèi)容要及時(shí)更新,現(xiàn)在IT技術(shù)的發(fā)展非常迅速,如果完全依賴課本,那么流行的新的技術(shù)無法及時(shí)傳給學(xué)生,教師盡量在項(xiàng)目的組織和課程的教學(xué)過程中將最新的框架和知識傳授給學(xué)生。在引入新技術(shù)的時(shí)候,注意循序漸進(jìn),一次不宜引入過多。一方面新技術(shù)的學(xué)習(xí)需要過程,一方面也降低教師的備課壓力。
(3)課堂教學(xué)和視頻教學(xué)相結(jié)合
課堂學(xué)時(shí)有限,要想學(xué)好JavaEE課程還必須在課下下功夫。單靠課堂教學(xué)不易很好的完成課程內(nèi)容的講授,教師可以制作更加詳細(xì)的教學(xué)視頻,最好是通過屏幕錄像的方式,一邊授課,一邊給學(xué)生演示項(xiàng)目從背景到編碼和測試的整個過程。視頻教學(xué)的內(nèi)容要豐富,覆蓋面可以更廣,許多在課堂上沒有時(shí)間覆蓋的細(xì)節(jié)都可以在教學(xué)視頻中體現(xiàn)出來。我們開發(fā)了一個基于SpringMVC的視頻播放網(wǎng)站,同時(shí)也提供了一個使用WordPress實(shí)現(xiàn)的博客系統(tǒng),用于知識的積累和傳遞,學(xué)生遇到的問題都可以在網(wǎng)站上提問,同時(shí)解決方法也提供在網(wǎng)站上,避免同樣的問題每一屆學(xué)生都要重復(fù)解決多次,一方面降低了授課教師的壓力,一方面也鍛煉了學(xué)生利用網(wǎng)上的解決方法獨(dú)立排查錯誤的能力。同時(shí)根據(jù)視頻播放的信息,可以找出哪些內(nèi)容是學(xué)生關(guān)注最多的,這樣在下次上課的時(shí)候,教師就可以有針對性的詳細(xì)講解相應(yīng)的知識點(diǎn),提高學(xué)生的接受速度。此外根據(jù)網(wǎng)站上學(xué)生提問的易出錯的問題,教師也可以改進(jìn)課堂授課的內(nèi)容,這樣就形成了一個良性循環(huán)。
(4)精心設(shè)計(jì)項(xiàng)目
用項(xiàng)目驅(qū)動法進(jìn)行JavaEE的教學(xué),按照學(xué)生的接受能力逐步拓展課程的內(nèi)容。使用1-2個項(xiàng)目貫穿全課程,按知識點(diǎn)鋪開項(xiàng)目的相應(yīng)部分知識,同時(shí)進(jìn)行有針對性的編程技能訓(xùn)練,同時(shí)加強(qiáng)老師的指導(dǎo)作用。注意拆分大項(xiàng)目,把整體項(xiàng)目拆分為若干子項(xiàng)目,在子項(xiàng)目中引出、敘述和分析每個知識點(diǎn),每個子項(xiàng)目都是最終項(xiàng)目的一部分。通過項(xiàng)目的分解和組合,也讓學(xué)生了解了項(xiàng)目任務(wù)的分解和組合,對于培養(yǎng)具有初步能力的項(xiàng)目經(jīng)理打好了基礎(chǔ)。
3.2教學(xué)效果反饋
為了得到學(xué)生對項(xiàng)目驅(qū)動教學(xué)的興趣分布情況,采取了以下措施:一、專門開發(fā)了一個課程網(wǎng)站和安卓手機(jī)App,收集學(xué)生對每個子項(xiàng)目的匿名打分情況和建議;二,課程還利用在所在學(xué)院目前已經(jīng)建設(shè)完畢并投入使用的私有云平臺作為學(xué)生進(jìn)行JavaEE開發(fā)和實(shí)際部署的平臺,通過目前部分投入使用的云環(huán)境管理軟件,收集到了學(xué)生使用實(shí)驗(yàn)平臺的各類數(shù)據(jù),如所訪問的網(wǎng)站、使用實(shí)驗(yàn)平臺的時(shí)間段、用戶在每個網(wǎng)頁的停留時(shí)間、鼠標(biāo)的位置等數(shù)據(jù);三、對采集到的數(shù)據(jù)進(jìn)行處理,從而分析學(xué)生對哪些知識感興趣。根據(jù)收集到的數(shù)據(jù)的分析結(jié)果可以有針對性的調(diào)整JavaEE課程的內(nèi)容和講授方法。
4.結(jié)束語
通過在JavaEE課程中引入項(xiàng)目驅(qū)動教學(xué),同時(shí)結(jié)合了多種信息采集和評價(jià)系統(tǒng),課程教學(xué)同以前相比較,取得了明顯的效果。課程成立了課程微信興趣群,采用自愿加入、自由討論、共享資源的方式,群里活躍度非常高,群的成員增加迅速。在課堂上采用項(xiàng)目驅(qū)動教學(xué)以后,觀察了學(xué)生的到課率比未采用前提高了大有提高,學(xué)生的積極性也大大提高了。學(xué)生組建了多個項(xiàng)目團(tuán)隊(duì),部分團(tuán)隊(duì)還成功的為企業(yè)開發(fā)實(shí)施了軟件系統(tǒng),新老學(xué)生實(shí)現(xiàn)了梯級開發(fā)團(tuán)隊(duì)。
[1]黃玉龍,蘇本躍,劉桂江,汪文明,施趙媛.面向卓越工程師的JavaEE開發(fā)技術(shù)課程教學(xué)探討[J].課程教育研究,2015,04:238.
[2]艾勇,譚成予,帖軍,常軍.互動教學(xué)法對JavaEE課程教學(xué)效果的影響研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2014,31:11-13+21.
[3]趙彥.基于任務(wù)驅(qū)動進(jìn)階教學(xué)的JavaEE課程改革探索[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013,03:46-50.
[4]周運(yùn).JavaEE框架課程教學(xué)方法改革與實(shí)踐[J].高師理科學(xué)刊,2012,02:99-102.
[5]高志升,謝春芝.系統(tǒng)化方法在JAVAEE教學(xué)中的運(yùn)用[J].電腦知識與技術(shù),2012,30:7244-7247.
[6]趙彥.《輕量級JavaEE開發(fā)》課程教學(xué)改革的研究[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011,05:95-100.
高榮(1979.2-),男,助教,碩士研究生,研究方向:企業(yè)信息化、數(shù)據(jù)挖掘,廣西財(cái)經(jīng)學(xué)院信息與統(tǒng)計(jì)學(xué)院。
G
A
2095-9214(2015)03-0171-02
廣西財(cái)經(jīng)學(xué)院信息與統(tǒng)計(jì)學(xué)院)
新世紀(jì)廣西高等教育教改工程項(xiàng)目(2012JGA203),廣西財(cái)經(jīng)學(xué)院數(shù)量經(jīng)濟(jì)學(xué)創(chuàng)新團(tuán)隊(duì)基金(2014CX02,2014CX03)