班婭萌++劉玲惠++尹樹萍++韓莉
編程基礎(chǔ)類課程具有理論抽象、實踐性強的特點,當今的高職高專游戲軟件專業(yè)此類課程的實施現(xiàn)狀有“所學不專”、“教學低效”等困難。針對此問題,本文提出了在教學過程中貫穿“游戲”的概念與項目,實踐證明,能夠有效激發(fā)學生的學習熱情,比傳統(tǒng)課堂更具有實踐性和探索性。
教學編程項目游戲
一、引言
程序設(shè)計能力是高職高專游戲軟件專業(yè)學生的必備專業(yè)技能,編程基礎(chǔ)類課程目標在于培養(yǎng)學生利用計算機程序來分析和解決實際問題的能力,具有理論抽象、實踐性強等特性。尤其對于??茖W生來說,具有基礎(chǔ)知識薄弱、動手能力較差、學習興趣不足等特點。如何能在課時緊、任務重的情況之下保證枯燥的編程基礎(chǔ)類課程的教學效果,吸引學生注意力,提高課堂效率,就成為很現(xiàn)實的問題。
二、高職高專編程基礎(chǔ)類課程教學現(xiàn)狀與困難
1.所學不“專”
編程類課程的實施需要依賴許多理論課程,比如說,編程中的多線程和線程的同步、互斥等問題,對程序執(zhí)行過程、程序跨平臺本質(zhì)特性的理解,這些都需要操作系統(tǒng)方面的知識。??茖W制三年,只有砍掉一些理論高、難度大的課程,才能保證教學的正常實施。同時,課時設(shè)置還要兼顧許多素質(zhì)類人文課程,編程類課程不能始終貫穿三年的學習,有限的時間當中,學生只能學點皮毛。所以,學生對于開發(fā)知識其實所學不“?!?。
2.學不致用
由于學制和學情等諸多因素限制,以“軟件生存周期”為主線的“企業(yè)級”的游戲軟件開發(fā)往往在課堂上無法深入,尤其對于編程基礎(chǔ)類課程更是如此。所以學生感覺編程基礎(chǔ)課程無法學以致用。
3.“教”“學”低效
以往的編程基礎(chǔ)類課程內(nèi)容過分強調(diào)數(shù)據(jù)類型、語法格式等語言上的細節(jié),缺少對程序設(shè)計本身的分析訓練。課堂中理論知識過于抽象,教材上的知識點不接地氣,程序設(shè)計語言語法形式單一,過于復雜的實訓案例,使得學生對于學習望而卻步、動力不足。由于時間緊迫,教師不得不對教學內(nèi)容進行取舍,很多重難點知識無法深究。種種問題造成了“學生難學、學得低效;教師難教,教得低效”這樣的局面。
三、教學改革辦法:“游戲”貫穿其中
當前職業(yè)教育課程改革的主流方向是構(gòu)建項目課程,開展項目教學。如何讓編程類課程門檻更低、學生參與度更高,就需要選擇趣味性更強、更適合學生學習的項目。在課程中開展游戲案例編程,將知識點與游戲恰當結(jié)合,是可行策略。
麻省理工學院和微軟公司共同提出“現(xiàn)代教學法 +藝術(shù)化游戲環(huán)境 =下一代教育媒體”,游戲化教學將教育與游戲結(jié)合,能展現(xiàn)具體情境、使學生在學習中娛樂,從而達到探究實踐、深度學習的目的。
小游戲上手容易、趣味性強、用戶黏度高,占領(lǐng)了智能手機端用戶的大部分碎片時間。從興趣而言,游戲可以激發(fā)90%以上學生的興趣;就業(yè)務而言,學生作為游戲初級玩家就基本掌握了90%的業(yè)務。
在近年來的教學時間里,筆者開始嘗試用“游戲”進行導入,讓不同的游戲貫穿到不同的編程基礎(chǔ)類課程當中,收到了良好的教學效果,得到了學生對這種“學以致用”的授課方式的普遍認同。下面以《程序設(shè)計基礎(chǔ)》和《數(shù)據(jù)結(jié)構(gòu)》兩門課程為例,分別闡述在不同的課程當中,如何使“游戲”概念貫穿其中。
1.在《程序設(shè)計基礎(chǔ)》中的應用
小游戲種類繁多,在項目選擇上主要考慮游戲受眾面廣的棋牌類游戲,此類游戲不用過多的動畫技術(shù),學生可以將主要精力放在語法實現(xiàn)和開發(fā)流程上。
首先,自下而上根據(jù)游戲的規(guī)則和玩法對業(yè)務做適當?shù)募舨?。以掃雷游戲為例,可不必考慮鼠標左右鍵同時按下的操作,點開的空白區(qū)域的雷的個數(shù)也可以用數(shù)字表示。自下而上剪裁好業(yè)務后,根據(jù)自上而下的分析,窗體和菜單必不可少。雷區(qū)的難度設(shè)置可以用控件來實現(xiàn),將難度的設(shè)定穿插在記事本的存儲中或考慮靜態(tài)變量。至于游戲的核心邏輯――掃雷的實現(xiàn),則依賴于“數(shù)組”知識??紤]到學生處于編程的初級階段,選擇在命令行模式下完成掃雷的過程,即時打印出數(shù)組的狀態(tài),讓學生理解其實雷區(qū)的繪制無非就是將數(shù)組對應的數(shù)字轉(zhuǎn)換成圖片而已。
此外在任務驅(qū)動的方式下,設(shè)計一些貼近生活受學生歡迎的游戲程序,如海底魚群、憤怒小鳥、星際大戰(zhàn)等,這些游戲程序都要求對基礎(chǔ)知識(循環(huán)、數(shù)組、邏輯判斷、指針、函數(shù))和知識綜合的運用。經(jīng)過理論學習和項目教學的穿插學習,課程結(jié)束時,學生對編程語言基本常用的開發(fā)技巧大多都能掌握。
2.在《數(shù)據(jù)結(jié)構(gòu)》中的應用
算法是程序的靈魂,《數(shù)據(jù)結(jié)構(gòu)》知識對于軟件專業(yè)的學生十分重要。算法的描述可以通過自然語言、流程圖、偽代碼、程序設(shè)計語言等多種形式來描述。對于高職高專的學生來說,剛一接觸就要求使用編程語言來解決算法問題無疑是不現(xiàn)實的。所以在本門課程教學過程中,傳統(tǒng)的游戲?qū)肽苁箤W生更容易理解算法的精髓,而小型益智類的游戲則能激發(fā)學生的學習興趣,用所學的知識去設(shè)計類似的游戲程序,做到學有所用。
比如,利用“按身高站隊”的游戲讓學生自然就可以體會到冒泡排序和選擇排序哪種排序方法麻煩,哪種效率較高。抓住了關(guān)鍵點,就很自然可以理解算法代碼中的核心語句,如冒泡中的“if a[i]>a[i+1]”和選擇排序中“k=i; ifa[k]>a[j] k=j;”。再比如說,“猜數(shù)字”的游戲讓學生快速理解折半查找算法的實質(zhì):每次找中間點并不斷縮小范圍。再去看算法代碼時,就能夠很容易找到“M=(L+R)/2”、“L=M+1”和“R=M-1”這樣的核心語句。并且,猜數(shù)字游戲作為一個小項目完全可以要求學生獨立設(shè)計、獨立編寫。
四、總結(jié)
“麻雀雖小,五臟俱全”。小游戲的開發(fā)不管是在項目的需求分析、業(yè)務實現(xiàn)、美工設(shè)計上,還是開發(fā)中的算法設(shè)計、編碼、測試上,都涵蓋了主流的編程技術(shù)和核心基礎(chǔ)知識。再者,小游戲的趣味性在很大程度上提高了學生的學習興趣和信心,也讓編程這類枯燥的課程更接地氣。而項目化教學對學生專業(yè)信心的樹立、動手能力的提升、知識體系的構(gòu)建以及綜合應用能力的提升都有顯著的效果。
參考文獻:
[1]蔣宇,尚俊杰,莊紹勇.游戲化探究學習模式的設(shè)計與應用研究[J].中國電化教育,2011.
[2]楊蘭娟,王金雙,陳萍,陳融.游戲編程融入教學中的應用研究[J].電腦知識與技術(shù),2016.
[3]劉君.高職編程類課程實踐教學模式研究[J].職業(yè)教育研究,2013.
[4]鄒回來.小游戲開發(fā)項目化教學在高職編程類課程中的探索與實施[J].中國信息技術(shù)教育,2016.