汪嬋嬋
摘要:計算機編程語言課是高校工科類專業(yè)普遍開設(shè)的專業(yè)基礎(chǔ)課,它是學(xué)生學(xué)習(xí)其他專業(yè)課的基礎(chǔ)。然而,編程類課程對邏輯思維和算法分析能力的高要求,讓大部分學(xué)生對計算機語言課程的學(xué)習(xí)產(chǎn)生了畏難情緒,教學(xué)效果不理想。為提高學(xué)生學(xué)習(xí)興趣,本文引入游戲項目驅(qū)動的教學(xué)方法,研究如何在計算機語言教學(xué)中引入游戲項目,以提高教學(xué)效果。
關(guān)鍵詞:游戲;項目驅(qū)動;計算機語言
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)07-0158-02
1 引言
大部分工科專業(yè)都會開設(shè)一門或多門計算機語言的專業(yè)基礎(chǔ)課,除了讓學(xué)生掌握計算機程序設(shè)計的基本思想和編程能力外,更重要在于鍛煉學(xué)生的邏輯思維能力和算法分析方法,以幫助學(xué)生提高解決問題的能力,為后續(xù)專業(yè)學(xué)習(xí)夯實基礎(chǔ)。
然而,在傳統(tǒng)的計算機語言教學(xué)中,教師往往注重語句語法、程序結(jié)構(gòu)、算法設(shè)計的教學(xué),枯燥乏味、應(yīng)用性差的案例絲毫不能引起學(xué)生的學(xué)習(xí)興趣,教師“滿堂灌”式的教,學(xué)生“被迫接受”式的學(xué),造成許多學(xué)生對計算機編程課程產(chǎn)生畏難情緒。這種“填鴨式”教學(xué)使得學(xué)生的學(xué)習(xí)積極性不高,不能充分發(fā)揮他們的學(xué)習(xí)自主性,教學(xué)效果較差。
為了迎合學(xué)生的興趣點,引入學(xué)生具有濃厚興趣的“游戲”載體,將一門計算機語言(以C#為例)的大部分知識點融入一個游戲項目中,通過這個游戲項目的制作,驅(qū)動學(xué)生完成該課程的學(xué)習(xí)任務(wù),從而達(dá)到理想的教學(xué)效果。
2 項目驅(qū)動教學(xué)模式
在傳統(tǒng)的教學(xué)中,教師為了幫助學(xué)生理解和運用相關(guān)知識,往往會使用案例教學(xué)法進(jìn)行講授。案例教學(xué)法是教師在講解理論知識或技能應(yīng)用的過程中,為了幫助學(xué)生理解知識的應(yīng)用方法,以案例的方式來演示如何利用所學(xué)知識來分析和解決實際問題。
然而,這些案例往往是零散、無關(guān)聯(lián)的,學(xué)生做完這些案例之后,很難將這些知識點串起來制作一個完整的項目。這就需要教師設(shè)計一個項目式案例,將課程理論知識點融入這個項目案例中,它能夠貫穿于整個課程教學(xué),以驅(qū)動整個教學(xué)過程。
項目驅(qū)動教學(xué)法是指在教學(xué)過程中以一個或多個項目為主線進(jìn)行教學(xué),該項目中融合了主要的教學(xué)內(nèi)容。將整個項目進(jìn)行拆分后,學(xué)生可以通過所學(xué)知識層層推進(jìn)完成項目的制作,從而達(dá)到學(xué)習(xí)理論知識、實踐應(yīng)用能力、解決實際問題的教學(xué)效果。
但是,沒有一個課程項目的設(shè)計是能夠完全涵蓋所有教學(xué)內(nèi)容的,課程教學(xué)模式完全依賴于項目驅(qū)動教學(xué),或許會遺漏部分知識點。因此,有必要在使用項目驅(qū)動教學(xué)法的同時,用案例教學(xué)法來補充這些遺漏的知識點。在實際教學(xué)過程中,案例教學(xué)法是教師普遍使用的教學(xué)方法,用該方法來詮釋知識點的使用方法,再用項目驅(qū)動法來提升和拓寬知識點的應(yīng)用方式,是一種較好的教學(xué)模式(如圖1所示)。
3 游戲項目的選擇
游戲項目驅(qū)動教學(xué)是一種新穎的教學(xué)模式,它借助游戲的趣味性、教育性、探究性和競爭性等特點,將知識點融入游戲項目中,提高學(xué)生的學(xué)習(xí)興趣和編程能力。影響項目式教學(xué)效果的核心因素是項目的選擇,本人在《C#程序設(shè)計》課程中引入“貪吃蛇游戲”項目,主要考慮以下幾個因素:
(1) 游戲必須要規(guī)則簡單、入門容易。貪吃蛇游戲是一款深受大眾喜愛的游戲,其游戲角色和游戲規(guī)則簡單,適合初學(xué)者學(xué)習(xí),學(xué)生完全有能力分析出貪吃蛇游戲的游戲規(guī)則、邏輯思路和算法流程。該游戲升級版本較多,此處選擇最為原始的游戲規(guī)則:用鍵盤方向鍵“上下左右”控制蛇的運動方向,通過不斷吃食物來獲得游戲積分,同時越吃食物蛇身越長,從而加大游戲難度。在游戲過程中,蛇不能碰障礙物,不能碰自己的身體,更不能碰墻,否則游戲結(jié)束。
(2) 制作游戲項目所需的知識點必須要盡可能涵蓋整門課程的教學(xué)內(nèi)容?!禖#程序設(shè)計》課程主要是讓學(xué)生掌握C#語法、方法、類、繼承、數(shù)組、多態(tài)、接口、文件操作及異常處理等知識與技能,重點理解如何使用面向?qū)ο笳Z言來進(jìn)行程序設(shè)計。貪吃蛇游戲項目可以使用C#語言來設(shè)計實現(xiàn)。在貪吃蛇游戲中,用類定義“貪吃蛇”“食物”“障礙物”等,而“食物”類、“障礙物”類均可以繼承于“固體”類;用方法定義“創(chuàng)建蛇”“產(chǎn)生食物”“蛇移動”“實現(xiàn)加分”等功能;用數(shù)組定義不同的格子屬性;用多態(tài)對派生類進(jìn)行復(fù)寫;用接口類來定義更多類型的食物;用事件定義分值變化;用文件的讀取和寫入實現(xiàn)保存玩家記錄、設(shè)置游戲音效;用異常處理游戲數(shù)據(jù)讀寫異常等。通過該游戲項目的開發(fā),使得學(xué)生學(xué)會C#程序語言的編程知識,幫助學(xué)生建立面向?qū)ο蟪绦蛟O(shè)計思想,提高學(xué)生運用具體的設(shè)計模式解決軟件項目的能力。
(3) 游戲項目必須能夠充分發(fā)揮學(xué)生學(xué)習(xí)主動性,突出學(xué)生創(chuàng)新思維的培養(yǎng)。貪吃蛇游戲的升級版本和游戲規(guī)則非常豐富多樣,學(xué)生如有興趣,完全可以突破教學(xué)中設(shè)計的原始版本,發(fā)揮自己的主觀能動性和創(chuàng)新思維,設(shè)計更完美的游戲界面和更復(fù)雜的游戲規(guī)則。而教師恰好可以引導(dǎo)學(xué)生自主學(xué)習(xí),拓寬思維,勇于創(chuàng)新,培養(yǎng)學(xué)生的邏輯思維能力和軟件編程能力,取得更好的教學(xué)效果。
因此,貪吃蛇游戲的項目驅(qū)動教學(xué)能夠較好地激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動學(xué)生的主觀能動性,從而促進(jìn)課堂教學(xué)效果,全面達(dá)到課程的知識目標(biāo)、能力目標(biāo)、情感目標(biāo)的綜合培養(yǎng)。
4 游戲項目的模塊分解
項目驅(qū)動教學(xué)的核心任務(wù)就是如何將項目根據(jù)課程的教學(xué)內(nèi)容進(jìn)行拆分,拆分后的子項目又根據(jù)知識點分解為多個小任務(wù),教師根據(jù)知識的循序漸進(jìn)逐步引導(dǎo)學(xué)生由簡到繁,由易到難地完成整個項目的制作。跟隨課程的教學(xué),學(xué)生不斷學(xué)習(xí)編程知識,逐步完成項目編寫,逐漸完成的程序項目讓學(xué)生獲得信心和成就感,進(jìn)一步激發(fā)學(xué)生的求知欲。
要使得《C#程序設(shè)計》課程的知識點全面融入貪吃蛇游戲項目中,應(yīng)當(dāng)先對該游戲項目進(jìn)行模塊分解,再根據(jù)分解后的模塊列出對應(yīng)的實踐任務(wù),最后梳理出實現(xiàn)這些實踐任務(wù)所需要的理論知識。貪吃蛇游戲項目模塊分解、實踐任務(wù)、理論知識對應(yīng)表如下(表1)。
通過對貪吃蛇項目的分解,教師將課程的教學(xué)任務(wù)精心設(shè)計在一個游戲項目的開發(fā)制作中,克服了傳統(tǒng)課堂的乏味教學(xué),輕松愉悅的學(xué)習(xí)情境能夠提高學(xué)生的注意力,有效激發(fā)其內(nèi)驅(qū)力,讓學(xué)生在享受逐步開發(fā)游戲項目的成就感中完成學(xué)習(xí)任務(wù)。
5 游戲項目的效果圖
學(xué)生在教師的引導(dǎo)下,學(xué)完整門課程即可完成一個貪吃蛇游戲的制作,游戲的界面效果如圖2所示。學(xué)生可以根據(jù)各自的興趣和能力,在此基礎(chǔ)上進(jìn)行更新升級,制作出更豐富、更美觀的游戲效果。
6 總結(jié)
在計算機語言的教學(xué)中引入游戲項目貫穿整個教學(xué)過程,該游戲項目覆蓋課程所需講授的知識點,可以迅速引起學(xué)生興趣,提高學(xué)習(xí)積極性,激發(fā)學(xué)生的主動性和創(chuàng)新能力。同時,教師也可以利用一些編程游戲(如:AI-TANK,CodinGame等)拓展計算機語言教學(xué)的第二課堂,為學(xué)生的課外學(xué)習(xí)提供趣味有效的游戲化平臺。
參考文獻(xiàn):
[1]鄧銳,余維. C#程序設(shè)計案例教程[M].清華大學(xué)出版社,2013.
[2]吳獻(xiàn)文,陳承歡.“項目驅(qū)動+案例教學(xué)”模式在高職教學(xué)的探索與應(yīng)用[J].電腦知識與技術(shù)(學(xué)術(shù)交流),2007,1(6).
[3]陳鈞,劉愛華.淺談VB課程中項目式教學(xué)案例的拆分與整合[J].軟件工程,2014(11):61-62.
[4]鄒彩云.LOGO語言游戲化教學(xué)應(yīng)用研究[D].2013.
[5]周彬.論編程游戲在計算機語言教學(xué)中的運用[J].信息通信,2014(7):278-279.
[6]邵玉祥,陳青.“案例教學(xué)+項目教學(xué)法”在計算機語言教學(xué)中的互補應(yīng)用[J].高教論壇,2012(2):21-23.
[7]張耀民.“項目驅(qū)動+案例教學(xué)”模式在軟件工程教學(xué)中的應(yīng)用[J].中國職業(yè)技術(shù)教育,2012(8):57-60.
【通聯(lián)編輯:王力】