韓冬梅
摘要:針對(duì)現(xiàn)有Java教學(xué)中存在的諸多問(wèn)題,提出以項(xiàng)目設(shè)計(jì)統(tǒng)領(lǐng)Java語(yǔ)言課程的教學(xué)方法。并以貪吃蛇游戲項(xiàng)目為例,對(duì)貪吃蛇游戲項(xiàng)目進(jìn)行教學(xué)設(shè)計(jì)和教學(xué)實(shí)踐,提升了Java語(yǔ)言課程的教學(xué)效果,激發(fā)了學(xué)生學(xué)習(xí)語(yǔ)言的興趣,體現(xiàn)以“學(xué)生學(xué)習(xí)為中心”的教學(xué)模式。
關(guān)鍵詞:項(xiàng)目設(shè)計(jì);Java語(yǔ)言;游戲
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)08-1709-02
1 以項(xiàng)目設(shè)計(jì)統(tǒng)領(lǐng)Java語(yǔ)言課程
在移動(dòng)互聯(lián)網(wǎng)環(huán)境下,Java語(yǔ)言的通用性和平臺(tái)移植性使它成為炙手可熱的網(wǎng)絡(luò)編程語(yǔ)言。它是一門(mén)知識(shí),更是一項(xiàng)技能。順應(yīng)實(shí)際需求,高職高專(zhuān)院校計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)大多開(kāi)設(shè)了Java語(yǔ)言程序設(shè)計(jì)課程。但現(xiàn)有Java教學(xué)中存在的很多問(wèn)題。主要表現(xiàn)在:一是教學(xué)方式單一,仍以課堂講授為主,使得本來(lái)就有些枯燥的程序設(shè)計(jì)學(xué)習(xí)雪上加霜;二是實(shí)驗(yàn)教學(xué)效果不理想,實(shí)驗(yàn)內(nèi)容不能很好的反映理論知識(shí)在實(shí)際中的應(yīng)用;三是缺少必要的社會(huì)需求調(diào)查,教學(xué)內(nèi)容不能充分滿足工作實(shí)際,學(xué)生缺乏整體開(kāi)發(fā)的理念;四是考核方式落后,仍以考試及格為考核目標(biāo)。
在Java課程教學(xué)中采用基于項(xiàng)目設(shè)計(jì)統(tǒng)領(lǐng)教學(xué)的方法是解決傳統(tǒng)教學(xué)中存在問(wèn)題的一種很好的選擇。項(xiàng)目設(shè)計(jì)教學(xué)以學(xué)生學(xué)習(xí)為中心,根據(jù)Java語(yǔ)言知識(shí)要求選取適合的項(xiàng)目,在教師的總體設(shè)計(jì)下,學(xué)生自主分析問(wèn)題,對(duì)項(xiàng)目進(jìn)行模塊分解,制定方案,編碼實(shí)現(xiàn),完成軟件項(xiàng)目測(cè)試等工作。建立在建構(gòu)主義教學(xué)理論基礎(chǔ)上的項(xiàng)目設(shè)計(jì)教學(xué)法夯實(shí)學(xué)生對(duì)知識(shí)的掌握,加強(qiáng)學(xué)生實(shí)際應(yīng)用訓(xùn)練,培養(yǎng)學(xué)生的自主學(xué)習(xí)、分析問(wèn)題、解決問(wèn)題和協(xié)作能力,達(dá)到人才培養(yǎng)的目標(biāo)。
2 貪吃蛇游戲項(xiàng)目教學(xué)設(shè)計(jì)
以學(xué)生學(xué)習(xí)為中心,注重編程能力和解決實(shí)際問(wèn)題訓(xùn)練對(duì)于高職院校的學(xué)生來(lái)說(shuō)尤為重要。教師的主導(dǎo)作用就是選擇合適的教學(xué)項(xiàng)目,精心設(shè)計(jì)教學(xué)活動(dòng),將教學(xué)過(guò)程、軟件開(kāi)發(fā)和學(xué)生認(rèn)知有機(jī)結(jié)合,最大程度達(dá)到教學(xué)要求,實(shí)現(xiàn)教學(xué)目標(biāo)。
1)確定項(xiàng)目。根據(jù)Java語(yǔ)言知識(shí)結(jié)構(gòu)選擇適合的項(xiàng)目,確定項(xiàng)目時(shí)充分考慮項(xiàng)目的規(guī)模和難度系數(shù),規(guī)模過(guò)大或技術(shù)含量過(guò)高,影響學(xué)生的自信心,規(guī)模過(guò)小或過(guò)于簡(jiǎn)單,實(shí)訓(xùn)目的達(dá)不到。再有選擇項(xiàng)目時(shí)還要考慮項(xiàng)目與知識(shí)點(diǎn)的契合。如講授Java類(lèi)庫(kù)、異常、多線程和用戶圖像界面等相關(guān)知識(shí)時(shí),需選取不同的項(xiàng)目方案。該文以貪吃蛇游戲項(xiàng)目進(jìn)行教學(xué)設(shè)計(jì)。貪吃蛇游戲項(xiàng)目設(shè)計(jì)主要訓(xùn)練學(xué)生學(xué)會(huì)Java組件的應(yīng)用,運(yùn)用Java圖形和用戶界面實(shí)現(xiàn)游戲功能以及學(xué)會(huì)Java程序調(diào)試等,進(jìn)而使學(xué)生建立編程思想。
2)分解項(xiàng)目。根據(jù)教學(xué)目標(biāo),將貪吃蛇游戲項(xiàng)目劃分為5個(gè)子項(xiàng)目,再根據(jù)每個(gè)子項(xiàng)目的具體要求進(jìn)行細(xì)化。項(xiàng)目分解如圖1。
授課前教師需將貪吃蛇游戲開(kāi)發(fā)出來(lái)。然后做好項(xiàng)目實(shí)施前的相關(guān)案例收集工作,從不同角度、利用不同方法激發(fā)學(xué)生完成項(xiàng)目開(kāi)發(fā)的興趣。
3 貪吃蛇游戲項(xiàng)目教學(xué)實(shí)踐
1)學(xué)生分組,確定項(xiàng)目負(fù)責(zé)人。
項(xiàng)目設(shè)計(jì)的需要。改變傳統(tǒng)的課堂教學(xué)實(shí)驗(yàn)只是為了驗(yàn)證課本上或教師準(zhǔn)備的實(shí)例的做法,注重項(xiàng)目的系統(tǒng)性和知識(shí)的綜合性,加強(qiáng)學(xué)生間的協(xié)作,共同完成設(shè)計(jì)任務(wù)。
團(tuán)隊(duì)合作的需要。從培養(yǎng)學(xué)生團(tuán)隊(duì)合作意識(shí),調(diào)動(dòng)學(xué)生的主觀能動(dòng)性出發(fā),采用項(xiàng)目組長(zhǎng)負(fù)責(zé)制的分組方式。每組成員一般在3到5人,組長(zhǎng)一人,負(fù)責(zé)項(xiàng)目設(shè)計(jì)的總體運(yùn)行和任務(wù)分配。如貪吃蛇游戲項(xiàng)目以4人為一組,由組長(zhǎng)將具體任務(wù)落到人頭:一人負(fù)責(zé)創(chuàng)建帶菜單的游戲界面,一人負(fù)責(zé)游戲級(jí)別調(diào)整,一人負(fù)責(zé)游戲運(yùn)行,一人負(fù)責(zé)英雄榜和幫助。
2)搭建開(kāi)發(fā)平臺(tái),選擇適合的開(kāi)發(fā)工具。
為了適應(yīng)企業(yè)快速開(kāi)發(fā)軟件的能力需求,在搭建開(kāi)發(fā)平臺(tái)時(shí)考慮將開(kāi)發(fā)工具、數(shù)據(jù)庫(kù)、Web服務(wù)器等集成在一起的可視化開(kāi)發(fā)環(huán)境,框架結(jié)構(gòu)部分已由開(kāi)發(fā)工具自動(dòng)生成,減少不必要的編碼,又有“所見(jiàn)即所得”的效果。如常用Java語(yǔ)言集成開(kāi)發(fā)環(huán)境Eclipse等。學(xué)生有了一定的程序設(shè)計(jì)基礎(chǔ)后,再使用非可視化的開(kāi)發(fā)環(huán)境,鍛煉學(xué)生的程序設(shè)計(jì)能力。
3)設(shè)計(jì)用戶界面,引入評(píng)價(jià)機(jī)制。
先行安排界面設(shè)計(jì)既是游戲項(xiàng)目設(shè)計(jì)的需要,也是為了學(xué)生容易上手。這種先易后難、循序漸進(jìn)的方法使學(xué)生產(chǎn)生滿足感、成就感,激發(fā)進(jìn)一步學(xué)習(xí)的熱情。
游戲用戶界面設(shè)計(jì)出來(lái)后,首先各小組選派一人闡述設(shè)計(jì)思想,然后各小組互評(píng),最后選出優(yōu)勝者,可以設(shè)計(jì)一些評(píng)價(jià)機(jī)制和鼓勵(lì)辦法,使學(xué)生不僅學(xué)會(huì)還要優(yōu)化。
4)編寫(xiě)程序代碼,建立程序設(shè)計(jì)思想。
根據(jù)學(xué)生的實(shí)際接受能力和企業(yè)用人需求,教師按照事先劃分好的任務(wù),用實(shí)例對(duì)每一個(gè)知識(shí)點(diǎn)進(jìn)行講解。教學(xué)過(guò)程中應(yīng)避免面面俱到,貪多求全,像玩游戲一下盡可能讓枯燥的編碼充滿樂(lè)趣。對(duì)于學(xué)生,充分發(fā)揮項(xiàng)目組的作用,從軟件工程的角度出發(fā),適當(dāng)使用一些其他的輔助工具,提高綜合運(yùn)行能力,建立程序設(shè)計(jì)思想。
5)將考核貫穿學(xué)習(xí)過(guò)程,注重考核效果。
跟蹤學(xué)生的整個(gè)學(xué)習(xí)過(guò)程,通過(guò)項(xiàng)目的完成情況考核學(xué)生的學(xué)習(xí)態(tài)度、知識(shí)的掌握程度和解決實(shí)際問(wèn)題的能力。授課教師可以采用形成性考核方式+終結(jié)性考核兩種方式,形成性考核主要依據(jù)項(xiàng)目的完成情況,每完成一個(gè)項(xiàng)目考核一次作為平時(shí)成績(jī);終結(jié)性考核安排在期末,要求學(xué)生選一個(gè)綜合類(lèi)的項(xiàng)目進(jìn)行演示,并回答由相關(guān)學(xué)科的教師組成評(píng)審組的問(wèn)題,教師對(duì)項(xiàng)目評(píng)分形成期末成績(jī),平時(shí)成績(jī)和期末成績(jī)的匯總就是這門(mén)課程的總成績(jī)。這種考核方式避免了學(xué)生平時(shí)不學(xué)習(xí),期末突擊復(fù)習(xí)的弊端,達(dá)到了人才培養(yǎng)的目的。
參考文獻(xiàn):
[1] 張學(xué)兵.基于游戲的項(xiàng)目教學(xué)法在“Java程序設(shè)計(jì)”課程教學(xué)中的應(yīng)用[J].軟件工程師,2010(9).
[2] 沈鵬.項(xiàng)目驅(qū)動(dòng)在高職Java教學(xué)中的應(yīng)用研究[J].軟件導(dǎo)刊,2013(7).