馮永安,王永貴,邱云飛,邢浩然
(1.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105;2.遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
Java 由于其簡單易學(xué)、運行速度較快、可移植性強等特點,在眾多程序設(shè)計語言中一直保持著較高的熱度,因而被譽為編程語言中的“常青樹”。在近幾年的權(quán)威編程語言排行榜(TOIBE)中,Java 基本領(lǐng)先地位;從近幾年的就業(yè)形勢來看,在互聯(lián)網(wǎng)+時代,企業(yè)對Java Web人才的需求量非常大,基本占軟件開發(fā)人才需求的60%~70%[1]。國內(nèi)高校的軟件工程專業(yè)普遍開設(shè)Java Web 編程技術(shù)課程,絕大部分IT 技能培訓(xùn)機構(gòu)圍繞Java Web 技術(shù)和大數(shù)據(jù)技術(shù)開展相關(guān)的就業(yè)培訓(xùn)。
Java 技術(shù)不斷演變,Java Web 應(yīng)用開發(fā)已由最初基本的Servlet、Jsp 技術(shù)轉(zhuǎn)變到框架技術(shù)應(yīng)用(如SSH,SSM 等框架技術(shù)),當(dāng)前比較流行的有Spring MVC 和Spring Boot 技術(shù)。不管技術(shù)如何發(fā)展,Java Web 開發(fā)技術(shù)都涉及HTML、Servlet、Jsp、CSS、JavaScipt、Ajax 等基礎(chǔ)知識,同時還需軟件工程、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等課程的綜合知識,故課程教學(xué)具有綜合實踐性強、入門較難的特點[2]。傳統(tǒng)的“注入式”教學(xué)模式不適合本課程的教學(xué)要求,同時也很難保證良好的教學(xué)效果。因此,如何能把教、學(xué)、練有效整合,尋找適合本課程的教學(xué)模式并設(shè)計相關(guān)的實踐環(huán)節(jié)、課程考核等教學(xué)內(nèi)容對課程教學(xué)顯得尤其關(guān)鍵。Java Web 課程教學(xué)一方面要求任課教師不但具備較高的綜合理論教學(xué)能力,還需較強的動手實踐能力;另一方面,在學(xué)時有限的情況下,如何處理好理論和實踐的學(xué)時安排也很重要。
教學(xué)大綱對課程教學(xué)的知識點、內(nèi)容及學(xué)時安排等起重要的指導(dǎo)作用,對課程講授具有重要意義。為了加強對理論的理解和提高實踐能力,課程改變傳統(tǒng)的理論課和實驗課相分離的授課模式,把課程全部教學(xué)內(nèi)容均安排在實驗室進行,需要對課程的教學(xué)大綱進行相應(yīng)地調(diào)整。在項目案例驅(qū)動模式下,對課程的關(guān)鍵知識點按照教學(xué)案例和練習(xí)案例分別設(shè)計,適當(dāng)補充課后輔助練習(xí)案例。以Spring 中IOC 知識點為例,學(xué)生管理系統(tǒng)項目為背景,其中講解學(xué)生管理模塊、設(shè)計教學(xué)案例,完成Dao 層接口UserDao(含有不帶參數(shù)的save、check 方法),類UserDaoImpl 實現(xiàn)UserDao,完成Service 層接口UserService(不帶參數(shù)的save、check 方法),類UserServiceImpl實現(xiàn)UserService;設(shè)計練習(xí)案例,完成學(xué)生班級管理,練習(xí)完成ClassesDao、ClassesDaoImpl、ClassesService、ClassesService-Impl 的功能實現(xiàn);課后練習(xí)完成系統(tǒng)中學(xué)院管理模塊的功能。
1.2.1 項目案例驅(qū)動,實施“鏈”式教學(xué)模式
“鏈”式教學(xué)模式是把教師“教”和學(xué)生“學(xué)”兩個環(huán)節(jié)緊扣在一起,每一個知識點為一環(huán),“教”為縱環(huán),“學(xué)”為橫環(huán),縱環(huán)和橫環(huán)緊緊咬合,環(huán)環(huán)相扣,形成完整的課程知識鏈。從根本上改變以往“注入式”教學(xué)模式的學(xué)生參與程度不足、動手時間少、教和學(xué)兩個環(huán)節(jié)脫節(jié)的現(xiàn)象[3],該模式模型如圖1 所示。
圖1 “鏈”式教學(xué)模式教學(xué)過程示意圖
項目案例驅(qū)動[4]背景下選取合適的教學(xué)項目,可考慮常用經(jīng)典的系統(tǒng)案例(如學(xué)生管理系統(tǒng)),易于理解而不能偏多,更不能偏大偏難,可從系統(tǒng)簡單通用的登錄模塊做起,保證學(xué)生能在有限時間內(nèi)完成。在系統(tǒng)的基本登錄模塊中,教師講授用戶名錄入問題,學(xué)生練習(xí)密碼錄入問題;教師講授用戶名數(shù)據(jù)如何獲取,學(xué)生練習(xí)密碼數(shù)據(jù)的獲?。唤處熤v授用戶名和密碼都對的情況下完成頁面的跳轉(zhuǎn),學(xué)生練習(xí)完成用戶名或者密碼錯誤時的頁面跳轉(zhuǎn),交替完成教與學(xué)的教學(xué)內(nèi)容。系統(tǒng)案例中其他的功能模塊,按照這種方法進行教與學(xué)拆分,滿足課堂教學(xué)需要。
1.2.2 實現(xiàn)編程從抄寫—改寫—編寫循序漸進
課程采用“鏈”式教學(xué)模式在實驗室進行教學(xué),學(xué)生需要完成聽、思、動的協(xié)同過程,如何降低編程學(xué)習(xí)門檻至關(guān)重要。學(xué)生人手一臺計算機,通過網(wǎng)絡(luò)廣播軟件把教師機屏幕傳播到學(xué)生機,要求學(xué)生實時模仿抄寫完成教師的教學(xué)案例,在指定時間內(nèi)成功調(diào)試運行,提高學(xué)生的學(xué)習(xí)興趣。適時提出一些功能修改問題,讓學(xué)生獨立思考進行改寫,通過平時加分形式進行激勵。最后,學(xué)生獨立完成大綱中的練習(xí)案例,編寫實現(xiàn)其中的功能,從而達到課堂教學(xué)循序漸進,實現(xiàn)編程從抄寫—改寫—編寫的轉(zhuǎn)變。以IOC 知識點中涉及的學(xué)生管理模塊為例,教師帶領(lǐng)學(xué)生一起完成教學(xué)案例中的Dao 層接口UserDao(有不帶參數(shù)的save、check 方法),類UserDaoImpl實現(xiàn)UserDao,完成Service 層接口UserService(save、check 方法),類UserServiceImpl 實現(xiàn)UserService,編寫測試類Test 進行檢驗;提出修改save 方法,增加name 和pass 參數(shù),改寫完成相應(yīng)的接口和類;最后獨立編寫完成學(xué)生班級管理模塊中的ClassesDao、ClassesDaoImpl、ClassesService、ClassesService-Impl 實現(xiàn)過程,這樣可以充分調(diào)動學(xué)生的學(xué)習(xí)興趣和積極性,實現(xiàn)邊講邊練提高學(xué)生的學(xué)習(xí)效率和動手實踐能力。
1.2.3 采用“穿新鞋,走老路”的教學(xué)路線
課程基本沿著HTML、Servlet、Jsp、Spring、Spring MVC 的技術(shù)路線進行教學(xué),技術(shù)的學(xué)習(xí)掌握難度逐漸加大,同時它們之間還有關(guān)聯(lián)。在課堂教學(xué)中,如何把這些技術(shù)問題有效地組織起來對課程學(xué)習(xí)十分關(guān)鍵??紤]采用不同的技術(shù)實現(xiàn)相同功能模塊,學(xué)生容易體會到技術(shù)的實現(xiàn)過程和差異問題,容易形成對比,達到“穿新鞋,走老路”的教學(xué)效果。不同技術(shù)學(xué)習(xí)分別對系統(tǒng)通用的登錄模塊實現(xiàn)見表1。
傳統(tǒng)先進行課堂教學(xué)、后安排實驗課的常規(guī)方法勢必造成實驗訓(xùn)練環(huán)節(jié)難以保障,本課程實施“鏈”式教學(xué)模式,教學(xué)實現(xiàn)從抄寫—改寫—編寫循序漸進,讓學(xué)生在初學(xué)階段更容易理解和掌握,逐步掌握關(guān)鍵技術(shù)及提高其分析解決問題的能力。邊講邊練方法有效地把課堂教學(xué)與實踐統(tǒng)一起來,學(xué)生在課堂學(xué)習(xí)中得以及時訓(xùn)練,降低入門學(xué)習(xí)門檻;配合練習(xí)案例,提高課堂學(xué)習(xí)興趣,使學(xué)生更容易掌握J(rèn)ava Web 中的開發(fā)技術(shù)。
表1 不同技術(shù)分別對登錄模塊的實現(xiàn)
為了進一步提高學(xué)生工程實踐能力,在設(shè)置培養(yǎng)方案時,在同學(xué)期開設(shè)課程中把軟件設(shè)計方法課程和Java Web 課程安排在同一學(xué)期進行學(xué)習(xí)(遼寧工程技術(shù)大學(xué)軟件工程專業(yè)安排在第六學(xué)期)。在課程教學(xué)結(jié)束后,結(jié)合軟件設(shè)計方法課程,設(shè)計綜合實訓(xùn)環(huán)節(jié),適當(dāng)引進企業(yè)的真實項目,對所有學(xué)生進行分組(每組由3~5 人組成,保證至少有1 名男同學(xué)或女同學(xué)),集中到實驗室進行為期2 周的實訓(xùn)任務(wù),要求使用軟件設(shè)計方法進行分析和設(shè)計,最后采用本課程所學(xué)Java Web 技術(shù)予以實現(xiàn)。例如某組學(xué)生選擇某企業(yè)新員工入職考試系統(tǒng)作為綜合實訓(xùn)題目,根據(jù)系統(tǒng)功能模塊進行分工,填寫項目成員及分工情況表、項目進度計劃表作為后期驗收檢查依據(jù)。實訓(xùn)過程中,指導(dǎo)老師根據(jù)實訓(xùn)表現(xiàn)(占綜合實訓(xùn)成績50%)進行打分;驗收環(huán)節(jié),驗收老師根據(jù)實訓(xùn)報告的格式及圖表完整情況(占綜合實訓(xùn)成績30%),答辯回答問題思路清晰度、模塊完成及程序運行情況(占綜合實訓(xùn)成績20%)進行打分。該環(huán)節(jié)從軟件設(shè)計、文檔撰寫到軟件研發(fā),形成課程間聯(lián)動效果,最后按照分組答辯驗收得到綜合實訓(xùn)成績[5]。綜合實踐環(huán)節(jié),可以有效訓(xùn)練學(xué)生團隊協(xié)作和表達能力,讓學(xué)生提前了解企業(yè)真實軟件項目研發(fā)過程,為以后的就業(yè)奠定基礎(chǔ)。
傳統(tǒng)的課程考核方式,成績一般由平時成績+理論課成績+實驗課成績構(gòu)成。對本課程實施“鏈”式教學(xué)模式后,改變了傳統(tǒng)授課的理論+實驗?zāi)J剑鄳?yīng)地需要對考核方式進行調(diào)整。課程總成績構(gòu)成調(diào)整為平時成績、理論課成績和綜合實訓(xùn)成績3 部分構(gòu)成,其中平時成績分為出勤、作業(yè)和課堂表現(xiàn)3 部分;理論課成績占50%,期末筆試形式進行;綜合實訓(xùn)的總成績由實訓(xùn)表現(xiàn)、文檔規(guī)范程度和答辯演示成績構(gòu)成,占總成績的50%。課程考核重點在課程學(xué)習(xí)過程,強化實驗訓(xùn)練,提高學(xué)生動手實踐能力,訓(xùn)練團隊合作能力和表達能力,打破筆試成績定輸贏的傳統(tǒng)形式,切實提高學(xué)生的就業(yè)競爭力[6]。
Java Web 課程的教學(xué)改革充分考慮企業(yè)需求和學(xué)生職業(yè)發(fā)展需要,引進企業(yè)真實軟件項目,實施“鏈”式教學(xué)模式,改變課程考核方式,激發(fā)學(xué)生學(xué)習(xí)熱情和積極性,取得了較好的效果。在今后的教學(xué)過程中,還可以考慮充分利用學(xué)院校企聯(lián)合培養(yǎng)的優(yōu)勢資源,加強專業(yè)基礎(chǔ)課實踐和應(yīng)用結(jié)合,以激發(fā)學(xué)習(xí)興趣,增強學(xué)生學(xué)習(xí)能力和實踐能力,培養(yǎng)出更多高水平的軟件技術(shù)應(yīng)用型人才。在遼寧工程技術(shù)大學(xué)軟件工程專業(yè)2014 級、2015 級、2016 級3 屆班級中的實踐表明,Java Web 課程的教學(xué)改革取得了較好效果。學(xué)生對本該課程具有濃厚的學(xué)習(xí)興趣,圓滿完成布置的綜合實訓(xùn)項目。在第八學(xué)期的畢業(yè)設(shè)計環(huán)節(jié),2014 級軟件工程專業(yè)307 名畢業(yè)生,有188 人的畢業(yè)選題以Java 作為開發(fā)技術(shù),學(xué)生的就業(yè)簽約崗位中有157 人從事Java 相關(guān)工作;2015 級軟件工程專業(yè)378 名畢業(yè)生,有226人的畢業(yè)選題以Java 作為開發(fā)技術(shù),學(xué)生的就業(yè)簽約崗位中有185 人從事Java 相關(guān)工作;在2019 年暑期合作教育中,2016 級共有203 名同學(xué)參加校外實習(xí),156 人從事Java 相關(guān)實習(xí)工作。在近3 年的全國藍(lán)橋杯程序設(shè)計比賽中,筆者共指導(dǎo)49 人參加Java 組比賽,16 人獲遼寧省三等獎,8 人獲遼寧省二等獎,8 人獲遼寧省一等獎,4 人獲全國總決賽二等獎。對課程進行改革與實踐,提高了學(xué)生實踐能力,學(xué)生在實習(xí)和工作中能迅速融入企業(yè)團隊,受到大連華信、中軟國際等企業(yè)單位的肯定和歡迎。