孫建煜
[摘 要]項(xiàng)目教學(xué)法是計(jì)算機(jī)課程教學(xué)中一種十分有效的方法,這種教學(xué)法對(duì)提高學(xué)生分析問(wèn)題的能力、解決問(wèn)題的能力及創(chuàng)新能力,都具有十分重要的意義?;诖?,本文通過(guò)具體的應(yīng)用實(shí)例,總結(jié)了項(xiàng)目教學(xué)法在中職校Visual FoxPro課程教學(xué)中的實(shí)施步驟及注意要點(diǎn)。
[關(guān)鍵詞]項(xiàng)目教學(xué);Visual FoxPro課程教學(xué);中職校
doi:10.3969/j.issn.1673 - 0194.2017.08.137
[中圖分類號(hào)]TP3-4;G712 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673-0194(2017)08-0-02
0 引 言
項(xiàng)目教學(xué)法是通過(guò)實(shí)施一個(gè)完整的項(xiàng)目而進(jìn)行的教學(xué)活動(dòng),是基于建構(gòu)主義教學(xué)理念的一種教學(xué)方法,與傳統(tǒng)的教學(xué)法相比,具有很大的區(qū)別,主要體現(xiàn)在三方面的轉(zhuǎn)變:由以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心;由以課本為中心轉(zhuǎn)變?yōu)橐浴绊?xiàng)目”為中心;由以課堂為中心轉(zhuǎn)變?yōu)橐詫?shí)際操作為中心。其目的是在教學(xué)中把理論與實(shí)踐教學(xué)有機(jī)結(jié)合起來(lái),充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生分析問(wèn)題、解決實(shí)際問(wèn)題的綜合能力。
項(xiàng)目教學(xué)法能夠極大的發(fā)揮學(xué)生學(xué)習(xí)的主觀能動(dòng)性,結(jié)合微課、慕課、視頻公開課等信息化教學(xué)手段的應(yīng)用,可以較好地提高教學(xué)質(zhì)量,特別適用于實(shí)踐性較強(qiáng)的課程。近幾年,項(xiàng)目教學(xué)法在高職院校和中職校得到了廣泛應(yīng)用。
1 Visual FoxPro課程教學(xué)中普遍存在的問(wèn)題
Visual FoxPro(簡(jiǎn)稱VFP)是一門實(shí)踐性較強(qiáng)的課程,它是計(jì)算機(jī)專業(yè)的必修課。在傳統(tǒng)的教學(xué)過(guò)程中,教師一般先介紹命令格式、功能、說(shuō)明等概念,再舉例應(yīng)用該命令,最后由學(xué)生上機(jī)操作進(jìn)行練習(xí)驗(yàn)證。由于學(xué)生實(shí)踐操作學(xué)時(shí)較少,導(dǎo)致學(xué)生學(xué)完這門課程只會(huì)獨(dú)立完成表單,至于如何把它們聯(lián)系起來(lái)開發(fā)成一個(gè)系統(tǒng),卻是一片茫然。另外,大多數(shù)學(xué)生并不認(rèn)為自己以后真的會(huì)利用VFP去開發(fā)系統(tǒng),所以僅僅傾向于應(yīng)付考試而淡化實(shí)際應(yīng)用與開發(fā)。這也導(dǎo)致學(xué)生在學(xué)習(xí)過(guò)程中學(xué)習(xí)被動(dòng),只是一味模仿課本上的實(shí)例,知識(shí)點(diǎn)零散,對(duì)系統(tǒng)開發(fā)認(rèn)識(shí)模糊,沒有創(chuàng)新,不能形成系統(tǒng)開發(fā)的整體概念。
2 項(xiàng)目教學(xué)法在中職校Visual FoxPro課程教學(xué)中的嘗試
為了解決這些矛盾,筆者在多年的計(jì)算機(jī)教學(xué)實(shí)踐中,結(jié)合教學(xué)內(nèi)容和教學(xué)對(duì)象的實(shí)際情況,積極嘗試項(xiàng)目教學(xué)法,收獲了許多意外的驚喜,發(fā)現(xiàn):學(xué)生學(xué)習(xí)以項(xiàng)目為中心,有明確的任務(wù),能讓學(xué)生圍繞項(xiàng)目組織已學(xué)知識(shí)和學(xué)習(xí)資源,發(fā)揮學(xué)習(xí)的主動(dòng)性、積極性,所完成的項(xiàng)目也有較高的水平。
下面就項(xiàng)目教學(xué)法在Visual FoxPro教學(xué)中的應(yīng)用說(shuō)明其實(shí)施步驟。
2.1 確定項(xiàng)目
如何選擇一個(gè)恰當(dāng)?shù)捻?xiàng)目是實(shí)施項(xiàng)目教學(xué)法非常關(guān)鍵的一個(gè)環(huán)節(jié)。項(xiàng)目的確定可以是教師指定,也可以是學(xué)生根據(jù)自身的興趣愛好自行確定項(xiàng)目。項(xiàng)目是可大可小的,大到可以貫穿整個(gè)課程的教學(xué)過(guò)程,小到可以在一節(jié)課、一次課(兩節(jié))的時(shí)間內(nèi)完成。
本文的項(xiàng)目是在完成表單教學(xué)基本任務(wù)后,提高學(xué)生綜合運(yùn)用表單以及程序設(shè)計(jì)的能力,檢驗(yàn)學(xué)生相關(guān)知識(shí)和技能的掌握情況。因此,筆者準(zhǔn)備指定一個(gè)能在一次課內(nèi)完成的項(xiàng)目。具體項(xiàng)目的選擇是非常困難的,既要能涵蓋相關(guān)的知識(shí)和技能,又要讓學(xué)生感興趣,還要有一定的應(yīng)用意義。思考再三,筆者選擇了“用表單實(shí)現(xiàn)對(duì)戰(zhàn)游戲”這一項(xiàng)目。根據(jù)學(xué)生的實(shí)際情況以及VFP課程的特性,這里選擇的對(duì)戰(zhàn)游戲只能是文字的,設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)輸入對(duì)戰(zhàn)雙方的名字,確定各角色的戰(zhàn)斗屬性,然后開始對(duì)戰(zhàn),對(duì)戰(zhàn)信息顯示在表單中。
2.2 設(shè)定情景
筆者設(shè)定的情景是給一個(gè)游戲開發(fā)組開發(fā)的游戲設(shè)計(jì)對(duì)戰(zhàn)環(huán)節(jié)。對(duì)于這個(gè)項(xiàng)目,學(xué)生尤其是占班級(jí)人數(shù)較多的男生顯然是很感興趣的。
2.3 項(xiàng)目分析、思考與實(shí)現(xiàn)
筆者引導(dǎo)學(xué)生思考:“在設(shè)計(jì)對(duì)戰(zhàn)游戲時(shí),需要哪些最基本的要素?”學(xué)生的思維十分活躍,紛紛提出了各種要素,如生命、角色名、攻擊力、防御力、速度、職業(yè)技能以及經(jīng)驗(yàn)等,顯然這其中有些要素并不是必需的,于是筆者帶領(lǐng)學(xué)生對(duì)提出的十幾種要素進(jìn)行鑒別,只選出最基本、最必要的要素,如角色名、生命、攻擊、速度,并聲明其他要素可作為后期改進(jìn)階段逐步完善的內(nèi)容。
由學(xué)生按分析思考的結(jié)果進(jìn)行設(shè)計(jì),在設(shè)計(jì)時(shí),筆者提醒學(xué)生,由于用到的屬性比較多,相應(yīng)的文本框應(yīng)采用“見名知義”的原則命名,以便于后面在代碼中的引用。
初步設(shè)計(jì)完成后,筆者問(wèn)學(xué)生:“何時(shí)開始戰(zhàn)斗?”學(xué)生很快的反應(yīng)過(guò)來(lái),需要設(shè)計(jì)一個(gè)“開始戰(zhàn)斗”的按鈕。筆者接著又問(wèn)“戰(zhàn)斗的過(guò)程由誰(shuí)來(lái)控制?”“如何實(shí)現(xiàn)兩個(gè)角色的互相攻擊?”“是不是只攻擊一次?”“攻擊與傷害代碼是否在‘開始戰(zhàn)斗按鈕中?”。通過(guò)一系列的引導(dǎo)式提問(wèn),促使學(xué)生思考,由他們自己得出需要利用“計(jì)時(shí)器”控件來(lái)實(shí)現(xiàn)角色攻擊,攻擊是否結(jié)束取決于角色的“生命值”是否為零等,這一系列的提問(wèn)、思考與結(jié)論,引導(dǎo)著學(xué)生漸進(jìn)的完成項(xiàng)目。
2.4 設(shè)立陷阱,測(cè)試排錯(cuò)
在項(xiàng)目的設(shè)計(jì)過(guò)程中,雖然筆者提示了可以用編輯框來(lái)實(shí)現(xiàn)對(duì)戰(zhàn)信息的顯示,但筆者故意未對(duì)這一功能的實(shí)現(xiàn)做詳細(xì)介紹,并設(shè)立了一個(gè)思路陷阱,如果學(xué)生按著以往的思考方式進(jìn)行設(shè)計(jì),就會(huì)落入這個(gè)陷阱中。事實(shí)上,學(xué)生果然循著思維慣性,用取代的方法實(shí)現(xiàn)了信息的顯示。
thisform . dzxx . vlaue = namea + " 攻擊了 " + nameb + " ,產(chǎn)生傷害 " + alltrim ( str ( sh ) )
這樣的結(jié)果就是對(duì)戰(zhàn)信息框中只顯示最后一次的戰(zhàn)斗信息,其他的信息全部被最后一次戰(zhàn)斗信息取代了。當(dāng)學(xué)生發(fā)現(xiàn)這一現(xiàn)象時(shí),筆者讓學(xué)生自己去找原因,“為什么原來(lái)的信息沒有了”,學(xué)生經(jīng)過(guò)思考,發(fā)現(xiàn)原來(lái)的信息在上一代碼中并未保留,并據(jù)此進(jìn)行了相應(yīng)的修改。
thisform . dzxx . vlaue = thisform . dzxx . value + namea + " 攻擊了 " + nameb + " ,產(chǎn)生傷害 " + alltrim ( str ( sh ) )
為了能實(shí)現(xiàn)換行顯示,還可以在這些代碼的最后加上“+chr ( 13 )”,以實(shí)現(xiàn)“回車”的功能。
2.5 學(xué)生協(xié)作
在設(shè)計(jì)中,筆者允許學(xué)生相互幫助、協(xié)作完成,但明顯提出,希望同學(xué)能設(shè)計(jì)出自己的個(gè)性,對(duì)于完成較快的學(xué)生,還可以通過(guò)相互討論,實(shí)現(xiàn)對(duì)該游戲的進(jìn)一步完善,例如:引入防御、職業(yè)等屬性。
2.6 學(xué)習(xí)評(píng)價(jià)
經(jīng)過(guò)兩個(gè)課時(shí)的討論、操作、修改和不斷完善,學(xué)生對(duì)該項(xiàng)目的解決思路基本清晰。但是同學(xué)們展示的結(jié)果可能還是有些粗糙,還需要從操作便捷、界面的美觀等多方面進(jìn)行考慮問(wèn)題。這就要求教師在項(xiàng)目教學(xué)的最后環(huán)節(jié)加以引導(dǎo)、點(diǎn)撥,指出成功與不足之處,對(duì)一切可行的做法進(jìn)行評(píng)論,并提出自己的做法和補(bǔ)充意見。如,命令按鈕的隱藏、提示信息怎樣給出更合適、背景的選擇等。最后使學(xué)生自己總結(jié)本項(xiàng)目所用的知識(shí)點(diǎn)和各自的收獲,最后寫出實(shí)驗(yàn)報(bào)告,對(duì)整個(gè)項(xiàng)目的設(shè)計(jì)思路作個(gè)梳理。
3 結(jié) 語(yǔ)
在整個(gè)教學(xué)過(guò)程中,學(xué)生的思維一直十分活躍,積極性較高,完成程度也比較高,直到課后還有學(xué)生興致勃勃地討論著今天的課,這讓筆者感覺到項(xiàng)目教學(xué)法的確是一種尋找理論與實(shí)踐恰當(dāng)結(jié)合、十分有效的教學(xué)方式,非常適合中職校的學(xué)生,這也是筆者今后重點(diǎn)探索、研究的方向。