楊彩
Java 語(yǔ)言具有跨平臺(tái)、開(kāi)源、簡(jiǎn)潔等優(yōu)點(diǎn),已成為21世紀(jì)首選的程序開(kāi)發(fā)語(yǔ)言。但作為應(yīng)用型軟件人才培養(yǎng)的基礎(chǔ)課程,Java課程教學(xué)方法的改革顯得尤為重要。參考文獻(xiàn)[1]介紹一種Java新的教學(xué)模式,提出改進(jìn)課堂教學(xué);參考文獻(xiàn)[2]提出要緊抓實(shí)踐教學(xué)。這些方法都有獨(dú)到之處,但是卻忽略了Java課堂教學(xué)和實(shí)踐教學(xué)的整體性。本文提出一種 “分階段迭代式”的教學(xué)模式:理論-實(shí)踐-再理論-再實(shí)踐。以案例教學(xué)貫穿于課堂教學(xué),使學(xué)生熟悉基礎(chǔ)知識(shí);以項(xiàng)目實(shí)戰(zhàn)貫穿于實(shí)踐,使學(xué)生掌握編程能力;再回到理論,讓學(xué)生重新理解知識(shí),使知識(shí)得到升華;最后再實(shí)踐,使編程能力得到深化。實(shí)踐證明,新的教學(xué)模式應(yīng)用以后,教學(xué)效果良好。
一 Java程序設(shè)計(jì)教學(xué)存在的問(wèn)題
高校的Java課程很多還在沿用傳統(tǒng)的授課方法:板書(shū)+講解,教學(xué)效果不甚理想。具體表現(xiàn)有,一是課堂教學(xué)內(nèi)容繁多。對(duì)于Java教學(xué)內(nèi)容側(cè)重點(diǎn)不突出,每個(gè)知識(shí)點(diǎn)都講解,重點(diǎn)不突出,造成教學(xué)內(nèi)容重復(fù),學(xué)生學(xué)習(xí)效果不佳[3]。二是實(shí)踐環(huán)節(jié)脫離實(shí)際。對(duì)Java課程安排的實(shí)踐課課時(shí)較少,無(wú)法系統(tǒng)地訓(xùn)練學(xué)生的實(shí)踐動(dòng)手能力,尤其缺乏大型系統(tǒng)性項(xiàng)目的訓(xùn)練。三是考核方式設(shè)計(jì)不合理。傳統(tǒng)教學(xué)對(duì)學(xué)生的考核是通過(guò)筆試完成的,只要掌握了課本知識(shí),通過(guò)記憶,考試就能夠取得好成績(jī)。這樣的考核方式,鼓勵(lì)的是理論的學(xué)習(xí),完全忽略了實(shí)踐環(huán)節(jié)的考核,培養(yǎng)的是只能紙上談兵的人才。
以上諸多問(wèn)題究其根源是學(xué)生學(xué)習(xí)缺乏動(dòng)力,解決的辦法就在于激發(fā)其學(xué)習(xí)興趣和信心,最好的途徑就是能夠讓學(xué)生自己動(dòng)手解決實(shí)際問(wèn)題,使其能力得到肯定和承認(rèn),體會(huì)到成功的快樂(lè),從而增強(qiáng)學(xué)習(xí)動(dòng)力。鑒于此,有必要對(duì)傳統(tǒng)的課程教學(xué)模式進(jìn)行改革。經(jīng)過(guò)不斷實(shí)踐,筆者在教學(xué)中總結(jié)了一套行之有效的分階段迭代式教學(xué)方法。
二 分階段迭代式教學(xué)與Java課程設(shè)計(jì)的結(jié)合
針對(duì)Java教學(xué)中存在的問(wèn)題,對(duì)教學(xué)的每個(gè)環(huán)節(jié)進(jìn)行改進(jìn),將案例教學(xué)貫穿其中;增加Java實(shí)踐課學(xué)時(shí),將項(xiàng)目驅(qū)動(dòng)教學(xué)法融入實(shí)踐環(huán)節(jié),讓學(xué)生帶著任務(wù)去學(xué)習(xí),效果會(huì)更加理想;對(duì)于目前的考核方式進(jìn)行改進(jìn),引入豐富的考核方式,加大實(shí)踐環(huán)節(jié)考核的比例,使最終成績(jī)更能反映學(xué)生的Java編程能力。
1 改進(jìn)理論教學(xué),提高教學(xué)效果
(1)教材的選擇
針對(duì)Java教材較多的特點(diǎn),選擇理論知識(shí)講解扎實(shí)、實(shí)例較多、更加符合學(xué)生實(shí)際需求的教材。同時(shí),指定1~2本參考教材,滿足有更高要求的學(xué)生[4]。
(2)教學(xué)內(nèi)容的重組
針對(duì)Java語(yǔ)言的語(yǔ)法基礎(chǔ)部分要難易區(qū)分,詳略得當(dāng)。采用提問(wèn)、分組教學(xué)等方式提高課堂學(xué)習(xí)的效率,避免學(xué)生產(chǎn)生審美疲勞。同時(shí),教學(xué)內(nèi)容區(qū)分為基礎(chǔ)知識(shí)和擴(kuò)展知識(shí),把基礎(chǔ)部分講解透徹,對(duì)于擴(kuò)展知識(shí)部分詳略有別,滿足不同層次學(xué)生的需要,能最大限度的調(diào)動(dòng)學(xué)生的積極性[5]。在課時(shí)安排上對(duì)實(shí)踐性強(qiáng)的課程適當(dāng)增加課時(shí)。同時(shí)增加一個(gè)大項(xiàng)目進(jìn)行系統(tǒng)訓(xùn)練,并將任務(wù)分解到各個(gè)章節(jié),具體安排如表1所示:
表 1 Java課程教學(xué)、實(shí)踐內(nèi)容
(3)教學(xué)方法的多樣性
在教學(xué)過(guò)程中,教學(xué)思路融“教、學(xué)、做”為一體的,以項(xiàng)目為導(dǎo)向,精心選擇課程內(nèi)容、設(shè)計(jì)教學(xué)環(huán)節(jié),并采用“啟發(fā)式”“交互式”“任務(wù)驅(qū)動(dòng)”“案例分析”等不同的教學(xué)方法,讓學(xué)生積極參與其中,有參與感才能主動(dòng)地學(xué)習(xí)。例如,講到GUI圖形用戶界面時(shí),組織學(xué)生分組討論如何設(shè)計(jì)界面,如何布置窗口,通過(guò)構(gòu)建原型提高學(xué)生的興趣,發(fā)揮他們的能動(dòng)性,課堂效果會(huì)更好。
2 加強(qiáng)實(shí)踐環(huán)節(jié)教學(xué),培養(yǎng)學(xué)生編程能力
對(duì)于實(shí)踐環(huán)節(jié),需要重視課本上的例題,先調(diào)試?yán)},有助于學(xué)生理解理論知識(shí),對(duì)學(xué)生的早期編程有著重要的意義。同時(shí),還應(yīng)該加入實(shí)際項(xiàng)目的開(kāi)發(fā),選擇學(xué)生熟悉的有典型代表性的項(xiàng)目,比如圖書(shū)管理系統(tǒng),學(xué)生對(duì)于系統(tǒng)的使用比較熟悉,知道目標(biāo)系統(tǒng)有哪些功能。把系統(tǒng)的細(xì)節(jié)穿插于Java教學(xué)中,如表1中的“實(shí)踐內(nèi)容”部分。教師先分析系統(tǒng)的需求,一步步引導(dǎo)學(xué)生實(shí)現(xiàn)各個(gè)模塊,最終開(kāi)發(fā)出完整的系統(tǒng)。
3 回歸理論,深諳知識(shí)內(nèi)涵
通過(guò)課堂中的項(xiàng)目,已經(jīng)覆蓋所學(xué)的主要知識(shí)點(diǎn),對(duì)理論知識(shí)已經(jīng)有了一定的理解。實(shí)踐以后再重新回顧,串聯(lián)起各個(gè)模塊用到的知識(shí)點(diǎn);整合實(shí)踐中遇到的復(fù)雜算法,理清知識(shí)頭緒,使學(xué)完的知識(shí)點(diǎn)在今后的實(shí)踐中應(yīng)用,真正理解和掌握理論知識(shí),達(dá)到升華理論知識(shí),提高實(shí)踐能力的目的。
4 再實(shí)踐,提升實(shí)踐能力
此階段,運(yùn)用軟件工程的思想進(jìn)行開(kāi)發(fā),選擇合適的完整的案例或項(xiàng)目,讓同學(xué)自己查找資料、自己規(guī)劃設(shè)計(jì)方案。以項(xiàng)目功能模塊為單位進(jìn)行小組劃分,組內(nèi)成員擔(dān)任不同角色,并選定小組負(fù)責(zé)人,培養(yǎng)團(tuán)隊(duì)精神。在項(xiàng)目進(jìn)行過(guò)程中,主要依靠學(xué)生自身的能力和團(tuán)隊(duì)的協(xié)作,通過(guò)查閱資料及網(wǎng)絡(luò)自主學(xué)習(xí),以團(tuán)隊(duì)為單位獨(dú)立解決遇到的困難。教師要定期對(duì)完成的較完整的項(xiàng)目進(jìn)行檢查與評(píng)價(jià),根據(jù)各小組的項(xiàng)目準(zhǔn)備、具體設(shè)計(jì)、測(cè)試過(guò)程中碰到的各種疑難問(wèn)題解決的手法、總結(jié)團(tuán)隊(duì)合作的感受等方面,對(duì)小組負(fù)責(zé)的模塊的運(yùn)行效果加以點(diǎn)評(píng),給與評(píng)價(jià)。具體步驟如圖1所示。
圖 1 “再實(shí)踐”教學(xué)法的操作步驟
通過(guò)實(shí)踐筆者發(fā)現(xiàn),該方法的實(shí)施使學(xué)生編寫(xiě)代碼的數(shù)量和質(zhì)量有了質(zhì)的提升,對(duì)于一些較為抽象內(nèi)容也能主動(dòng)涉及和研究。同時(shí),該過(guò)程還培養(yǎng)了團(tuán)隊(duì)協(xié)作精神和集體榮譽(yù)感,鍛煉了溝通能力和合作意識(shí)。對(duì)于設(shè)計(jì)過(guò)程中出現(xiàn)的新問(wèn)題和新思路,也促使教師加深思考,根據(jù)學(xué)生的疑問(wèn)補(bǔ)充新的教學(xué)內(nèi)容,教學(xué)相長(zhǎng)。
三 分階段迭代式教學(xué)中應(yīng)注意的問(wèn)題
1 改善考核環(huán)節(jié),提升評(píng)價(jià)水平
要提高考核方式實(shí)踐環(huán)節(jié)成績(jī)?cè)谄谀┛荚嚳偝煽?jī)中的比重。筆者采用期末筆試成績(jī)占40%,實(shí)踐教學(xué)平時(shí)成績(jī)30%,大項(xiàng)目的比重占30%。對(duì)于大項(xiàng)目的驗(yàn)收,采取學(xué)生進(jìn)行答辯的方式進(jìn)行。首先每個(gè)小組選一個(gè)代表和教師共同組成評(píng)價(jià)團(tuán)隊(duì),然后由每一個(gè)小組派出一個(gè)代表進(jìn)行第一輪答辯,回答同學(xué)們和教師的問(wèn)題,最后由評(píng)價(jià)團(tuán)隊(duì)共同為這個(gè)小組打成績(jī)。小組的每個(gè)成員都參加第二輪答辯,闡述自己所做的工作,在小組成績(jī)的基礎(chǔ)上,對(duì)每個(gè)成員進(jìn)行打分給出成績(jī),要求整個(gè)小組的平均成績(jī)?yōu)樾〗M的分?jǐn)?shù)。這樣,既可以培養(yǎng)學(xué)生的團(tuán)隊(duì)精神,讓他們明白沒(méi)有團(tuán)隊(duì)就沒(méi)有個(gè)人的道理,又能發(fā)揮他們的積極性,每個(gè)人的最終成績(jī)是和自己的努力息息相關(guān)的。
2 創(chuàng)建網(wǎng)絡(luò)學(xué)習(xí)平臺(tái),方便師生交流
為了方便師生交流,配合課程教學(xué),創(chuàng)建了網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)。我們開(kāi)設(shè)有Java精品課程網(wǎng)絡(luò)平臺(tái),學(xué)生可以查看授課資料、下載相關(guān)資源、在線測(cè)試、師生交流,為課余學(xué)習(xí)提供新的方式。教師可以根據(jù)教學(xué)情況,在平臺(tái)上發(fā)起相關(guān)知識(shí)的討論,學(xué)生參與討論,通過(guò)互動(dòng)交流,教學(xué)效果會(huì)更好。
此外,QQ、微博、微信、Email等媒體也為師生互動(dòng)交流提供了很好的平臺(tái),學(xué)生也可以通過(guò)這些通訊軟件與教師進(jìn)行溝通,有問(wèn)題隨時(shí)交流,解決學(xué)習(xí)過(guò)程中遇到的問(wèn)題,同時(shí)也可以消除部分學(xué)生在大家面前羞于提問(wèn)的顧慮。
總之,本文針對(duì)Java教學(xué)中存在的不足和問(wèn)題,提出了分階段迭代式教學(xué)模式,把優(yōu)秀的教學(xué)理論引入Java教學(xué)過(guò)程,采取多樣化的教學(xué)方法,提高學(xué)生的興趣度,讓他們積極參與到Java的教學(xué)中;同時(shí)引入案例教學(xué)法,在老師的指導(dǎo)下,使學(xué)生熟悉實(shí)際項(xiàng)目開(kāi)發(fā)流程;通過(guò)重新回歸理論,使學(xué)生深諳知識(shí)內(nèi)涵,能串聯(lián)起各個(gè)知識(shí)點(diǎn);經(jīng)過(guò)再實(shí)踐環(huán)節(jié),運(yùn)用軟件工程理論,按功能劃分不同的小組,各小組合作完成模塊功能,讓學(xué)生有更強(qiáng)的參與感,也能培養(yǎng)團(tuán)隊(duì)協(xié)作精神和實(shí)際解決問(wèn)題的能力。另外,對(duì)考核方式進(jìn)行改進(jìn)和完善,考核中要體現(xiàn)出實(shí)踐能力的重要性;最后通過(guò)多種教學(xué)手段進(jìn)行交流、答疑解惑。實(shí)踐證明,該方法能培養(yǎng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的Java編程能力,值得借鑒使用。
參考文獻(xiàn)
[1]劉建偉,時(shí)華. Java程序設(shè)計(jì)教學(xué)改革的新思路[J]. 陜西教育,2012(11):56-57.
[2]湯海蓉,李錫輝. 基于項(xiàng)目驅(qū)動(dòng)的JAVA程序設(shè)計(jì)教學(xué)改革[J].教育與職業(yè), 2012(6):140-142.
[3]王威.項(xiàng)目教學(xué)法在軟件工程課程中的應(yīng)用研究[J]. 教育理論與實(shí)踐,2011,31(9):53-54.
[4]徐傳運(yùn),張楊,王森.針對(duì) JAVA 程序設(shè)計(jì)的仿真教學(xué)法[J].計(jì)算機(jī)教育,2013(6):99-102.
[5]陳濤.基于案例教學(xué)的Java語(yǔ)言課程改革研究[J]. 教育研究與實(shí)驗(yàn),2009(9): 59-60,63.