郭廣豐,肖鳳艷
(包頭師范學(xué)院 信息科學(xué)與技術(shù)學(xué)院,內(nèi)蒙古 包頭 014030)
Java EE軟件開發(fā)技術(shù)課程是一門培養(yǎng)學(xué)生軟件開發(fā)能力的核心課程,也是一門涉及Java語言程序設(shè)計、數(shù)據(jù)庫、Web程序開發(fā)等知識的綜合性課程,其教學(xué)目標(biāo)是:學(xué)生通過本課程的學(xué)習(xí),掌握基于Java EE技術(shù)開發(fā)Web系統(tǒng)的基礎(chǔ)知識和基本方法,對Web系統(tǒng)開發(fā)有一個全面的認識,并能夠使用Java EE技術(shù)獨立開發(fā)Web系統(tǒng)。
在實際授課中發(fā)現(xiàn),一部分學(xué)生很難達到課程教學(xué)目標(biāo)。通過對前幾屆修完該課程的學(xué)生進行訪談和問卷調(diào)研發(fā)現(xiàn),有如下因素直接影響教學(xué)效果:①前續(xù)課程的學(xué)習(xí)不夠扎實,沒有掌握相關(guān)知識和技能,導(dǎo)致該課程的學(xué)習(xí)難度加大,特別是Java核心技術(shù)課程學(xué)業(yè)成績比較差的學(xué)生讀不懂代碼,也不會調(diào)試代碼,在該課程學(xué)習(xí)的開始階段就會產(chǎn)生畏難情緒,主動放棄了該課程的學(xué)習(xí);②一部分學(xué)生抽象能力不強,教師如果按知識點組織教學(xué),這部分學(xué)生只是完成教師指定的練習(xí),無法把實際需求轉(zhuǎn)化為系統(tǒng)設(shè)計,遇到具體項目無從下手;③在該課程學(xué)習(xí)中,一部分學(xué)生的學(xué)習(xí)主動性不強,投入時間不足,主動參與意識差,學(xué)習(xí)成績也不夠理想。因此,針對上述問題,對Java EE軟件開發(fā)技術(shù)課程進行教學(xué)改革勢在必行。
Java EE軟件開發(fā)技術(shù)課程的前驅(qū)課程為數(shù)據(jù)庫、Java核心技術(shù)、Java Web程序設(shè)計。Java EE軟件開發(fā)涉及的相關(guān)技術(shù)較多,根據(jù)對企業(yè)人才需求的分析,本課程主要培養(yǎng)學(xué)生使用Struts、Hibernate、Spring等輕量級框架開發(fā)Web系統(tǒng)的能力。三大框架涉及知識點較多,精選相關(guān)內(nèi)容整合為4個模塊,見表1。
該課程的教學(xué)目標(biāo)是培養(yǎng)學(xué)生獨立開發(fā)Web系統(tǒng)的能力,但如果學(xué)生沒有習(xí)得相關(guān)知識(如Web技術(shù)原理),就無法獨立開發(fā)Web系統(tǒng)。因此,知識和能力的學(xué)習(xí)缺一不可,二者相輔相成。這就需要在整個教學(xué)過程中,將“知識學(xué)習(xí)”和“技能培養(yǎng)”有機結(jié)合起來,遵循“學(xué)中做,做中學(xué),學(xué)會做,獨立做”的教學(xué)改革思路[1],將“集體授課”“小組學(xué)習(xí)”“個人自主學(xué)習(xí)”等方法優(yōu)化組合在一起,將教師的“教”和學(xué)生的“學(xué)”有機結(jié)合,真正讓學(xué)習(xí)者從學(xué)習(xí)中獲得樂趣,最大程度地參與整個教學(xué),才能達到該課程教學(xué)目標(biāo)的要求。“學(xué)中做”指在每個模塊的學(xué)習(xí)中引入案例,教師作為專家,引導(dǎo)學(xué)生分析問題,并展示解決問題的過程,學(xué)生跟著教師做;“做中學(xué)”指在一個或幾個案例的學(xué)習(xí)后,教師給定實驗題目,學(xué)生完成相應(yīng)的實驗,并撰寫實驗報告,從實驗中體會其中的技術(shù)原理,鞏固相關(guān)知識;“學(xué)會做”指在每一模塊的案例教學(xué)和實驗教學(xué)結(jié)束后,小組協(xié)作完成一個Web系統(tǒng)開發(fā)項目的相關(guān)子任務(wù);“獨立做”指在全部4個模塊的教學(xué)結(jié)束后,在前期小組項目開發(fā)的基礎(chǔ)上,每位學(xué)生獨立完成一個Web項目的開發(fā)。
表1 各模塊學(xué)習(xí)目標(biāo)
如圖1所示,在整個課程實施過程,將“案例教學(xué)”“實驗教學(xué)”“小組項目開發(fā)及展示”“自行開發(fā)項目及展示”等教學(xué)環(huán)節(jié)有機結(jié)合起來,讓每位學(xué)生參與教學(xué)全過程,最大限度地發(fā)揮其主體作用。在每一模塊的教學(xué)中,交替進行“案例教學(xué)”和“實驗教學(xué)”,從“學(xué)中做”“做中學(xué)”中及時強化所學(xué)知識;之后通過“學(xué)會做”(即“小組項目開發(fā)及展示”),和小組成員一起開發(fā)項目,在學(xué)習(xí)伙伴的相互幫扶下,逐步把習(xí)得的知識遷移到新的情境中,將知識內(nèi)化為基本能力。在整個4個模塊的教學(xué)過程完成后,再通過“獨立做”(即“個人項目開發(fā)及展示”),個人獨立完成項目開發(fā),進一步提升學(xué)生的項目開發(fā)能力,培養(yǎng)學(xué)生分析問題、解決問題的能力。
在課程教學(xué)中,為了降低學(xué)生理解案例的難度,使其更容易理解Web項目涉及的業(yè)務(wù)流程,在整個課程教學(xué)中統(tǒng)一使用了一個學(xué)生都非常熟悉的案例——學(xué)生成績管理系統(tǒng)。學(xué)生在前導(dǎo)課程Java Web程序設(shè)計學(xué)習(xí)中接觸過此案例,也有使用教務(wù)系統(tǒng)查詢成績的經(jīng)歷,因此容易理解其業(yè)務(wù)流程。每個模塊的教學(xué),只選擇其中的幾個功能模塊進行設(shè)計與實現(xiàn)。每個模塊的教學(xué),根據(jù)每個模塊的學(xué)習(xí)目標(biāo),設(shè)計相應(yīng)的案例。案例教學(xué)按照程序教學(xué)“小步子”的設(shè)計思路,按“一個引入式案例→多個進階式案例→模塊學(xué)習(xí)小結(jié)”這一順序開展教學(xué)(見表2,以模塊2的教學(xué)為例)。
圖1 教學(xué)實施流程圖
表2 模塊2的案例教學(xué)
1)一個引入式案例。
在每一模塊的教學(xué)中,先給出一個較簡單的問題,教師分析其解決辦法,并一步步演示如何編寫代碼,學(xué)生按步驟編寫代碼,教師講解其中的知識點。通過引入式案例的學(xué)習(xí),使學(xué)生初步了解所使用技術(shù)的基本原理、基本步驟。
2)多個進階式案例。
在每一模塊的教學(xué)中,在學(xué)習(xí)較簡單的引入式案例的基礎(chǔ)上,分析引入式案例或上一個進階式案例中未解決的問題,引入新知識,給出解決辦法,并一步演示如何修改代碼,學(xué)生跟著教師做。通過多個進階式案例的學(xué)習(xí),使學(xué)生進一步加深對所使用技術(shù)的基本原理、基本步驟的認識,并逐步理解相關(guān)技術(shù)細節(jié)。
3)模塊學(xué)習(xí)小結(jié)。
在每一模塊的教學(xué)中,引入式案例和進階式案例涉及的知識點比較零散,不夠系統(tǒng)。在學(xué)習(xí)完引入式案例和進階式案例后,通過“模塊學(xué)習(xí)小結(jié)”將案例中涉及的零散知識點體系化,總結(jié)各種技術(shù)的特點、基本原理、基本開發(fā)步驟、相關(guān)技術(shù)要點。通過“模塊學(xué)習(xí)小結(jié)”的學(xué)習(xí),使學(xué)生將習(xí)得的知識系統(tǒng)化,進一步加深對所使用技術(shù)的基本原理、基本步驟的認識,并深刻理解相關(guān)的技術(shù)細節(jié)。
根據(jù)每個模塊不同的學(xué)習(xí)目標(biāo),設(shè)計相應(yīng)的實驗題目,讓學(xué)生自己動手編寫代碼,并完成相應(yīng)的實驗報告。通過實驗,讓學(xué)生理解相應(yīng)的技術(shù)原理,鞏固案例教學(xué)中的知識點。設(shè)計實驗題目時,選擇學(xué)生比較熟悉的業(yè)務(wù)場景及與案例教學(xué)內(nèi)容接近的開發(fā)任務(wù),讓學(xué)生獨立完成。見表3,案例教學(xué)中針對“管理員信息管理”模塊進行開發(fā),相應(yīng)的實驗題目也選取了同一項目中的其他模塊——“班級信息管理”模塊,讓學(xué)生完成該模塊的開發(fā)任務(wù)。這樣開發(fā)難度較低,學(xué)生直接使用案例教學(xué)的相關(guān)技術(shù)就可完成實驗,比較容易獲得成功的體驗,從而提高學(xué)習(xí)興趣。實驗教學(xué)是對學(xué)習(xí)內(nèi)容的強化,因此其實施時間選擇也很重要。每一模塊的實驗教學(xué)與案例教學(xué)穿插進行,每組學(xué)習(xí)目標(biāo)對應(yīng)的案例教學(xué)結(jié)束后,緊接著開展該組學(xué)習(xí)目標(biāo)對應(yīng)的實驗教學(xué),學(xué)生通過獨立完成相應(yīng)的實驗題目,就可以強化之前習(xí)得的知識和技能。
每個模塊的案例教學(xué)和實驗教學(xué)結(jié)束后,則進入小組項目開發(fā)環(huán)節(jié)。在小組項目開發(fā)前,4~5人組成開發(fā)小組,自主選定一個Web項目開發(fā)任務(wù),在每個模塊的案例教學(xué)和實驗教學(xué)結(jié)束后,完成相應(yīng)的子任務(wù),見表4。每個子任務(wù)主要由小組成員在課下完成,課堂教學(xué)中利用3~6個學(xué)時進行答疑。每個子任務(wù)完成后,每組提交相應(yīng)的階段性成果,并隨機選擇一名成員匯報該小組的成果,教師和學(xué)生根據(jù)評價量表對各組的成果進行教師評分和組間互評,并產(chǎn)生優(yōu)勝小組。
在全部4個模塊的“案例教學(xué)”“實驗教學(xué)”“小組項目開發(fā)與展示”教學(xué)環(huán)節(jié)結(jié)束后,每位學(xué)生自主選題完成課程設(shè)計,獨立開發(fā)一個小型Web系統(tǒng)。學(xué)生根據(jù)自己的能力水平,既可以選擇難度稍小的、和小組項目相關(guān)的Web項目,也可以自擬題目,對選定項目進行獨立的需求分析、系統(tǒng)設(shè)計和實現(xiàn)。項目完成后,提交項目需求分析書、數(shù)據(jù)庫設(shè)計說明書、演示PPT等相關(guān)材料,面向全班展示并回答教師提問。3~5個任課教師組成答辯組,根據(jù)評分量表對課程設(shè)計成果及答辯表現(xiàn)進行綜合評分。通過此過程,進一步培養(yǎng)學(xué)生分析問題、解決問題、語言表達等方面的能力。
表3 模塊2的實驗教學(xué)
表4 小組項目開發(fā)的子任務(wù)列表
在課程考核時,一方面采用多元評價方式,將學(xué)習(xí)主體學(xué)生納入評價者的角色,突出學(xué)生在學(xué)習(xí)過程中的責(zé)任,激發(fā)其學(xué)習(xí)主動性和積極性[2]。因此,該課程考核方式需要由單一的教師評價轉(zhuǎn)變?yōu)榻處熢u價、學(xué)習(xí)小組間評價、學(xué)習(xí)小組內(nèi)評價等多種評價方式相結(jié)合,從多方面、多角度對學(xué)習(xí)活動進行較科學(xué)、全面的評價。
另一方面,不能單純采用終結(jié)性評價方法,而是將過程性評價方法和終結(jié)性評價方法結(jié)合起來。評價過程中隱含了對學(xué)習(xí)行為的肯定與否定,以此可以實現(xiàn)對學(xué)習(xí)行為的修正與引導(dǎo),從而提高學(xué)生的學(xué)習(xí)效果。過程性評價滲透于學(xué)習(xí)過程之中,學(xué)習(xí)者親身參與評價過程,有益于其加強對自身學(xué)習(xí)意義的了解,并從中汲取學(xué)習(xí)的動力;在學(xué)習(xí)過程中適時切入的評價是即時評價,便于學(xué)習(xí)者認識已經(jīng)發(fā)生的學(xué)習(xí)過程的價值[3]。而經(jīng)過長時間的課程學(xué)習(xí)后,學(xué)生一定會在態(tài)度、行為以及認知層面發(fā)生變化[4],這種變化可以通過終結(jié)性評價方法獲得,授課教師可以通過對終結(jié)性評價的分析為課程教學(xué)改革提供必要的依據(jù)。
該課程學(xué)業(yè)成績由平時成績、個人項目兩部分組成,其中平時成績占60%、個人項目得分占40%。平時成績由考勤、實驗、小組項目展示得分組成,分別占10%、60%、30%。個人項目評分由答辯組每位教師根據(jù)學(xué)生個人項目完成情況和答辯情況依據(jù)評分量表給分。實驗成績由授課教師根據(jù)學(xué)生實驗完成情況和實驗報告撰寫情況給分。小組項目展示按照教學(xué)進度安排分4次進行,其均值計入該課程的學(xué)業(yè)成績。每次小組項目展示得分包括教師評價、學(xué)習(xí)小組間評價、學(xué)習(xí)小組內(nèi)評價等3個部分,分別占60%、20%、20%,都采用相應(yīng)的評價量表評分。在“小組項目展示”評價中,“教師評價”由教師依據(jù)小組完成項目情況和個人在小組項目開發(fā)中的表現(xiàn)進行評定;“學(xué)習(xí)小組間評價”是各小組對其他小組的項目完成質(zhì)量進行評價;“學(xué)習(xí)小組內(nèi)評價”是各小組成員根據(jù)各組員對本小組貢獻的情況進行互評,評價組員的參與意識。
Java EE軟件開發(fā)技術(shù)課程是學(xué)校計算機科學(xué)與技術(shù)服務(wù)外包方向的一門專業(yè)必修課,筆者對該專業(yè)的2013級、2014級學(xué)生進行了2輪的Java EE軟件開發(fā)技術(shù)課程教學(xué)改革試驗,教學(xué)滿意度和學(xué)業(yè)成績均有了明顯的提升,特別是中等生成績的提升尤為突出。該課程改革收到了良好的效果,激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生分析問題、解決問題的能力,其編程能力也有了明顯提升,為后續(xù)課程的學(xué)習(xí)打下了良好的基礎(chǔ)。此外,還培養(yǎng)了學(xué)生語言表達能力、溝通能力以及協(xié)作意識,為今后的工作奠定了一定的基礎(chǔ)。