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