方錦文
(桂林電子科技大學(xué)信息科技學(xué)院,廣西 桂林 541004)
目前,國(guó)內(nèi)很多高校都開(kāi)展了Java Web這門(mén)課程。培養(yǎng)學(xué)生應(yīng)用Java Web設(shè)計(jì)軟件建設(shè)Web應(yīng)用的能力,培養(yǎng)學(xué)生的網(wǎng)絡(luò)后臺(tái)編程能力。啟發(fā)學(xué)生的創(chuàng)新意識(shí),提高學(xué)生在軟件設(shè)計(jì)中分析問(wèn)題和解決問(wèn)題的實(shí)際動(dòng)手能力,使學(xué)生的理論知識(shí)和實(shí)踐技能得到共同發(fā)展。本文結(jié)合作者實(shí)際教學(xué)經(jīng)驗(yàn),探討以項(xiàng)目為驅(qū)動(dòng)的Java Web教改方案。
在Java Web項(xiàng)目開(kāi)發(fā),這門(mén)課中,著重培養(yǎng)學(xué)生實(shí)際動(dòng)手能力,目前,大多數(shù)院校都采用的教學(xué)方式是以老師講授為主,學(xué)生動(dòng)手為輔的形式。這種灌輸式教學(xué)會(huì)有一些弊端。在一些應(yīng)用型本科中,出現(xiàn)以下問(wèn)題:
1)學(xué)生不愿動(dòng)手,難以調(diào)動(dòng)學(xué)生的積極性。Java Web這門(mén)課主要講述代碼、案例、編碼,內(nèi)容相對(duì)其他學(xué)科較為枯燥無(wú)聊,難以調(diào)動(dòng)學(xué)生興趣,有的老師會(huì)采用與生活實(shí)際相結(jié)合的案例來(lái)進(jìn)行講解,目的是提高學(xué)生的興趣度和參與度,但效果不佳,有很大一部分同學(xué)依舊不愿意參與課堂里面。
2)沒(méi)有獨(dú)立思考、解決問(wèn)題的能力。在課堂中,學(xué)生只會(huì)被動(dòng)地“聽(tīng)”,沒(méi)有獨(dú)立思考,假使下次出現(xiàn)其他問(wèn)題,學(xué)生依舊不能獨(dú)立解決,沒(méi)有做到學(xué)以致用。
3)教師講授為主學(xué)生動(dòng)手為輔的方式難以提升學(xué)生的動(dòng)手能力,傳統(tǒng)的教學(xué)方式容易讓學(xué)生缺少動(dòng)手積極性,導(dǎo)致教學(xué)效果不佳。對(duì)于應(yīng)用型本科的教師,如何提高學(xué)生動(dòng)手積極性是教學(xué)的重點(diǎn)之一。
4)傳統(tǒng)考核方式難以評(píng)價(jià)學(xué)生對(duì)這門(mén)課的實(shí)際掌握程度。
1)知識(shí)點(diǎn)的項(xiàng)目推進(jìn)。在學(xué)生遇到問(wèn)題時(shí)候,引導(dǎo)學(xué)生自己思考,解決問(wèn)題
項(xiàng)目可以分為課堂項(xiàng)目和課后項(xiàng)目。由于課堂時(shí)間有限,課上項(xiàng)目應(yīng)該結(jié)合學(xué)時(shí)實(shí)際情況,布置學(xué)生能在短時(shí)間內(nèi)完成的項(xiàng)目,涉及的內(nèi)容不應(yīng)該太復(fù)雜,對(duì)某些難以理解的地方,教師提前做一個(gè)簡(jiǎn)單的講解。每節(jié)課的課堂任務(wù)應(yīng)該控制在一到兩個(gè)。課后任務(wù)學(xué)生有較多的時(shí)間完成,可以布置任務(wù)量稍微大一點(diǎn)的項(xiàng)目。
布置項(xiàng)目可以分為小項(xiàng)目,大項(xiàng)目。每個(gè)小項(xiàng)目涵蓋了課程中某個(gè)章節(jié)的一個(gè)或兩個(gè)知識(shí)點(diǎn),目的是讓學(xué)生掌握特定的一個(gè)或兩個(gè)知識(shí)點(diǎn)。大項(xiàng)目涉及一個(gè)或幾個(gè)章節(jié)的多個(gè)知識(shí)點(diǎn),目的是讓學(xué)生掌握多個(gè)知識(shí)點(diǎn)的綜合應(yīng)用。
2)大項(xiàng)目的組隊(duì)合作進(jìn)行
小項(xiàng)目可以是一個(gè)頁(yè)面,也可以是某個(gè)特定的功能,學(xué)生能在課堂上有限的時(shí)間內(nèi)完成。小項(xiàng)目應(yīng)該“求異”[1],即同一個(gè)問(wèn)題,讓學(xué)生從多個(gè)角度去思考,鼓勵(lì)學(xué)生發(fā)揮想象力,培養(yǎng)學(xué)生從多種角度思考問(wèn)題,解決問(wèn)題的能力。比如一個(gè)頁(yè)面的表單的數(shù)據(jù)驗(yàn)證過(guò)濾功能,可以在JSP頁(yè)面上使用JS代碼完成,也可以在servlet里面完成。在講解這一知識(shí)點(diǎn)時(shí),并不提供標(biāo)準(zhǔn)答案,而是鼓勵(lì)學(xué)生思考用什么方式實(shí)現(xiàn)功能更合適,對(duì)比不同方法在特定情形下的優(yōu)點(diǎn)和缺點(diǎn),從而加深對(duì)知識(shí)點(diǎn)的理解。在學(xué)生遇到bug時(shí),引導(dǎo)學(xué)生思考為什么會(huì)出現(xiàn)bug,如何解決。而不是直接教學(xué)生修改bug。培養(yǎng)學(xué)生獨(dú)立思考,獨(dú)立解決問(wèn)題的能力。并且,上課時(shí),在講解知識(shí)點(diǎn)的同時(shí),錄制視頻,與網(wǎng)絡(luò)教學(xué)視頻相結(jié)合,通過(guò)多種學(xué)習(xí)手段,幫助學(xué)生學(xué)習(xí)和課后復(fù)習(xí)[2]。
大項(xiàng)目應(yīng)該追求合作和共同參與。參考實(shí)際軟件開(kāi)發(fā)流程:需求、規(guī)劃、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、運(yùn)行、維護(hù)[3]。在學(xué)習(xí)完課程知識(shí)點(diǎn)之后,通過(guò)一個(gè)完整的項(xiàng)目,對(duì)所學(xué)課程進(jìn)行一個(gè)總結(jié)。類(lèi)似實(shí)訓(xùn)課,把一個(gè)行政班分為5到6個(gè)小組,每組成員8人進(jìn)行。參照實(shí)際企業(yè)中的開(kāi)發(fā)團(tuán)隊(duì)組織結(jié)構(gòu),每組成員分別扮演項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、開(kāi)發(fā)人員、測(cè)試人員幾種角色,各角色的目標(biāo)和職責(zé)如表1所示。各組完成相同的題目,完成方式和具體使用技術(shù)路線、各個(gè)角色的人數(shù)由各組成員自行商量決定。
3)上機(jī)考試的考核方式,與平時(shí)表現(xiàn)相結(jié)合
對(duì)于JSP程序設(shè)計(jì)與開(kāi)發(fā)學(xué)習(xí)成效的評(píng)價(jià)其實(shí)最為有效的方式就是通過(guò)具體的項(xiàng)目完成程度來(lái)進(jìn)行評(píng)價(jià)[4]。由小項(xiàng)目完成情況,小組合作項(xiàng)目完成情況,上機(jī)考核成績(jī)綜合對(duì)學(xué)生學(xué)習(xí)情況進(jìn)行評(píng)價(jià)[5]。上機(jī)考核每位學(xué)生完成相同題目的項(xiàng)目,由教師提供一些通用模塊代碼,比如JDBC數(shù)據(jù)庫(kù)連接模塊代碼,所需的其他jar包,學(xué)生自行完成項(xiàng)目的方式進(jìn)行。從數(shù)據(jù)庫(kù)表結(jié)構(gòu)、查詢數(shù)據(jù)頁(yè)面、修改數(shù)據(jù)頁(yè)面、數(shù)據(jù)驗(yàn)證過(guò)濾、體驗(yàn)便捷合理性、代碼編寫(xiě)合理性等多個(gè)方面對(duì)考核情況進(jìn)行評(píng)價(jià)。
“項(xiàng)目推進(jìn)教學(xué)”的教改方案在Java Web開(kāi)發(fā)這門(mén)課進(jìn)行了兩輪的教學(xué)實(shí)踐。從課堂的教學(xué)效果來(lái)看,課堂上學(xué)生的學(xué)習(xí)積極性明顯提高,學(xué)生的考核成績(jī)總體有所提高,動(dòng)手能力明顯提高,在后續(xù)的實(shí)訓(xùn)課程中有體現(xiàn)出來(lái)。同時(shí)形成了課程資源,完成一整套的課程錄制視頻,幫助學(xué)生課后學(xué)習(xí)。
從學(xué)生角度來(lái)看,通過(guò)問(wèn)卷調(diào)查的形式,能反映學(xué)生對(duì)“項(xiàng)目推進(jìn)教學(xué)”的教學(xué)效果的評(píng)價(jià)。本文對(duì)收集到的78份有效問(wèn)卷進(jìn)行分析。在提問(wèn),學(xué)習(xí)某一章節(jié)的小知識(shí)點(diǎn)時(shí),你認(rèn)為哪種方式學(xué)習(xí)效果最好?
A.老師把知識(shí)點(diǎn)全部講完,然后手把手帶領(lǐng)同學(xué)們做案例(小項(xiàng)目)。
B.老師把重要知識(shí)點(diǎn)講完,然后大概舉例講解一下案例(小項(xiàng)目)怎么做,由同學(xué)們自行完成。
C.老師講解重點(diǎn)知識(shí)點(diǎn),然后由學(xué)生自行學(xué)習(xí),完成案例(小項(xiàng)目)。
結(jié)果如圖1所示,51.3%的學(xué)生認(rèn)為適當(dāng)?shù)貙?duì)知識(shí)點(diǎn)進(jìn)行講解,然后自己獨(dú)立完成的方式的學(xué)習(xí)效果最好。

圖1 問(wèn)卷調(diào)查題1
在提問(wèn),學(xué)習(xí)完課本所有知識(shí)點(diǎn),最后要做一個(gè)完整的項(xiàng)目(大項(xiàng)目)時(shí),你認(rèn)為哪種方式的學(xué)習(xí)效果最好?
A.隨機(jī)分組進(jìn)行,促進(jìn)同學(xué)間的交流,合作完成任務(wù)。
B.老師大概講解一下,然后獨(dú)立完成。(類(lèi)似實(shí)訓(xùn)課)
C.老師把知識(shí)點(diǎn)全部講完,然后手把手帶領(lǐng)同學(xué)們做案例。
結(jié)果如圖2所示,大部分學(xué)生認(rèn)為,本文采用的“項(xiàng)目推進(jìn)教學(xué)”式的分組進(jìn)行的大項(xiàng)目的完成方式最能學(xué)到知識(shí)。從調(diào)查結(jié)果來(lái)看,“項(xiàng)目推進(jìn)教學(xué)”的教學(xué)形式是學(xué)生喜歡的教學(xué)方式,大部分學(xué)生認(rèn)為這種方式的教學(xué)效果好。

圖2 問(wèn)卷調(diào)查題2
在Java Web開(kāi)發(fā)課程中,應(yīng)該重點(diǎn)關(guān)注提高學(xué)生的動(dòng)手能力,筆者通過(guò)實(shí)施教改方案,取得了較好的教學(xué)效果,學(xué)生的學(xué)習(xí)積極性顯著提高,成功調(diào)動(dòng)了學(xué)生主動(dòng)創(chuàng)作和思考的能力,學(xué)生漸漸學(xué)會(huì)從不同的角度去思考問(wèn)題,在動(dòng)手能力上也得到了很大的提升,參加軟件設(shè)計(jì)開(kāi)發(fā)類(lèi)比賽取得了較好的成績(jī)。