謝宇飛 周 慶
江西應(yīng)用技術(shù)職業(yè)學(xué)院
基于即時(shí)模擬游戲化系統(tǒng)的高職院校計(jì)算機(jī)編程語(yǔ)言教學(xué)改革研究
謝宇飛 周 慶
江西應(yīng)用技術(shù)職業(yè)學(xué)院
高職院校計(jì)算機(jī)編程語(yǔ)言課程教學(xué)改革已進(jìn)入了關(guān)鍵階段,傳統(tǒng)教育教學(xué)模式已無(wú)法適應(yīng)新時(shí)期計(jì)算機(jī)編程語(yǔ)言教學(xué)需求。以教學(xué)模式中存在的問題為著眼點(diǎn),通過選用即時(shí)模擬游戲化系統(tǒng)開展實(shí)驗(yàn)性的教學(xué)改革探索,以印證國(guó)際計(jì)算機(jī)編程語(yǔ)言教學(xué)模式發(fā)展方向和國(guó)內(nèi)已進(jìn)行的有關(guān)實(shí)踐研究成果,為高職院校計(jì)算機(jī)編程語(yǔ)言課程教學(xué)改革探索道路和方法。
游戲化系統(tǒng) 高職院校 編程語(yǔ)言
教育部制定的《大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求(2015)》提出大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)的總體目標(biāo)是“大學(xué)生通過學(xué)習(xí)應(yīng)能夠理解計(jì)算學(xué)科的基本知識(shí)和方法,掌握基本的計(jì)算機(jī)應(yīng)用能力,同時(shí)具備一定的計(jì)算思維能力和信息素養(yǎng)?!盵1]計(jì)算機(jī)編程語(yǔ)言教學(xué)是計(jì)算機(jī)基礎(chǔ)課程中的核心課程,幫助學(xué)生破除計(jì)算機(jī)和軟件編程的神秘感,建立對(duì)于程序的基本認(rèn)識(shí)和對(duì)計(jì)算機(jī)運(yùn)算模型的最初理解,影響了許多學(xué)生對(duì)計(jì)算機(jī)科學(xué)的第一印象。[2]隨著計(jì)算機(jī)編程語(yǔ)言發(fā)展日益加速,高職院校計(jì)算機(jī)編程語(yǔ)言教學(xué)模式發(fā)展的相對(duì)滯后,已經(jīng)成為高職院校計(jì)算機(jī)人才培養(yǎng)的主要瓶頸之一,新的教學(xué)模式改革勢(shì)在必行,刻不容緩。
在20世紀(jì)90年代中期以前,美國(guó)的計(jì)算機(jī)編程教育以Pascal語(yǔ)言為主,到20世紀(jì)90年代中后期,ANSIC語(yǔ)言成為很多美國(guó)大學(xué)編程的教學(xué)語(yǔ)言。1998年,美國(guó)指導(dǎo)編程教學(xué)的一個(gè)協(xié)會(huì)推薦將C++作為教學(xué)語(yǔ)言。大約經(jīng)過兩三年不成功的實(shí)踐之后,在本世紀(jì)初,美國(guó)計(jì)算機(jī)教育界普遍接受了將Java作為編程入門語(yǔ)言,這個(gè)局面一直持續(xù)到2014年。在2014年美國(guó)加利福尼亞大學(xué)圣迭戈分校計(jì)算機(jī)科學(xué)與工程學(xué)院認(rèn)知科學(xué)助理教授Philip Guo的調(diào)研報(bào)告中指出,美國(guó)top高校中,Python已經(jīng)成為教授計(jì)算機(jī)科學(xué)入門課程方面最受歡迎的語(yǔ)言。[3]在中國(guó),直到20世紀(jì)90年代中期都還是把BASIC語(yǔ)言及其變體設(shè)為計(jì)算機(jī)編程課程的主要教學(xué)內(nèi)容。到了20世紀(jì)90年代后期,C語(yǔ)言才確立了在中國(guó)大學(xué)計(jì)算機(jī)編程語(yǔ)言中的主流地位,少部分國(guó)內(nèi)高校逐漸開始以Java為入門編程語(yǔ)言。
近年來,國(guó)內(nèi)計(jì)算機(jī)編程語(yǔ)言教學(xué)模式和內(nèi)容一直在改革探索,教學(xué)內(nèi)容一致在不斷演進(jìn),C/C++、Java、Python等面向過程或面向?qū)ο蟮膬?yōu)秀編程語(yǔ)言紛紛進(jìn)入大學(xué)課堂,但是由于國(guó)內(nèi)教學(xué)模式發(fā)展相對(duì)滯后,教學(xué)者更偏向語(yǔ)言基礎(chǔ)知識(shí)的講解和傳授,課堂教學(xué)枯燥乏味,學(xué)習(xí)者的學(xué)習(xí)積極性不高,整個(gè)教學(xué)效果得不到改善。[4]
即時(shí)模擬教學(xué)在國(guó)內(nèi)主要應(yīng)用于工程學(xué)科和典型的實(shí)操學(xué)科,如數(shù)控機(jī)床、臨床護(hù)理等等,在計(jì)算機(jī)領(lǐng)域還處于探索階段。但是,在國(guó)際上已經(jīng)研究多年,并開發(fā)出了一系列相關(guān)應(yīng)用系統(tǒng),均以游戲的形式出現(xiàn),贏得西方教育界和學(xué)生的廣泛興趣和好評(píng)。麻省理工學(xué)院和微軟公司提出“現(xiàn)代教學(xué)法+藝術(shù)化游戲環(huán)境=下一代教育媒體”,游戲化教學(xué)將教育與游戲結(jié)合,能展現(xiàn)具體情境、使學(xué)生在學(xué)習(xí)中娛樂,從而達(dá)到探究實(shí)踐、深度學(xué)習(xí)的目的。[5]
2013年英國(guó)Kuato Studios公司推出的Hakitzu,一款基于 iPad 的格斗類游戲。在游戲中,玩家不能通過觸摸板或者控制器來控制機(jī)器人,而必須通過輸入命令行才能讓機(jī)器人往前走、往后走、轉(zhuǎn)身等等。對(duì)于之前沒學(xué)過 Javascript 的玩家來說,他們現(xiàn)在就要一邊學(xué)Javascript,一邊戰(zhàn)斗,整個(gè)教學(xué)內(nèi)容就包括 JavaScript 變量、函數(shù)、核心代碼構(gòu)建和語(yǔ)法等。
2015年法國(guó)推出的CodinGame,對(duì)于每一個(gè)練習(xí),你都可以從超過20種編程語(yǔ)言中選擇自己喜歡的語(yǔ)言,例如Python、Ruby、Java、Scala等。公司的目標(biāo)用戶是已經(jīng)知道一些編程基礎(chǔ)的人,但也為資深程序員提供了相匹配的挑戰(zhàn)。尤其是,程序員之間近期開始流行多人游戲模式。在多人游戲模式下,你可以學(xué)習(xí)人工智能的基礎(chǔ)知識(shí),與其他人進(jìn)行對(duì)決,看看到底是誰(shuí)的代碼效率更高。
研究期間為滿足教學(xué)的客觀需求,采用了美國(guó)Codecombat游戲式編程學(xué)習(xí)平臺(tái)進(jìn)行對(duì)比使用,相較優(yōu)劣及學(xué)生使用后的真是反饋和客觀需求,統(tǒng)計(jì)數(shù)據(jù)后,確定了下一步研究思路。在Codecombat系統(tǒng)中,學(xué)生扮演一個(gè)英雄通過游戲中的關(guān)卡冒險(xiǎn)。學(xué)生通過輸入代碼控制英雄角色,游戲過程中面臨編程挑戰(zhàn),挑戰(zhàn)成功將解鎖下一關(guān)卡并獲得經(jīng)驗(yàn)點(diǎn),并可以提升英雄能力。Codecombat支持5種編程語(yǔ)言學(xué)習(xí),JavaScript、CoffeeScript、Lua、Python和Clojure,涵蓋了編程基本語(yǔ)法、循環(huán)、字符串、變量、方法調(diào)用、矢量繪圖等教學(xué)主題。
研究過程中通過選取3個(gè)班(A、B、C)進(jìn)行差別教學(xué),其中A班沿用傳統(tǒng)教學(xué)方法,即C語(yǔ)言教學(xué),先理論再實(shí)踐,實(shí)踐為傳統(tǒng)項(xiàng)目式。B班采取Python語(yǔ)言教學(xué),先理論再實(shí)踐,隨堂實(shí)踐為項(xiàng)目式,課程后期集中實(shí)踐為游戲式。C班采取Python語(yǔ)言教學(xué),先實(shí)踐再理論,實(shí)踐倒逼理論,實(shí)踐為游戲式。通過3種不同的教學(xué)模式進(jìn)行比較,根據(jù)學(xué)生評(píng)測(cè)反饋我們得知,采用游戲式實(shí)踐課程B、C班比采用傳統(tǒng)模式的A班,無(wú)論在編程技能掌握情況、編程課程感興趣程度,還是對(duì)計(jì)算機(jī)科學(xué)后續(xù)學(xué)習(xí)的信心上,都明顯超越后者。與江耿豪、鄭煒冬在《編程游戲在計(jì)算機(jī)語(yǔ)言教學(xué)中的運(yùn)用》所做的實(shí)驗(yàn)結(jié)果基本類似[6],較好的證明了運(yùn)用即時(shí)模擬游戲化系統(tǒng)進(jìn)行計(jì)算機(jī)編程語(yǔ)言教學(xué),能充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性、主動(dòng)性和創(chuàng)造性,引導(dǎo)學(xué)生獨(dú)立思考,培養(yǎng)學(xué)生分析問題和解決問題的能力,培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作精神,對(duì)提高計(jì)算機(jī)編程語(yǔ)言課程教學(xué)質(zhì)量具有較大的現(xiàn)實(shí)意義。
[1] 屈微, 姚琳, 武航星,等.基于游戲編程的計(jì)算機(jī)實(shí)踐教學(xué)模式應(yīng)用[J].計(jì)算機(jī)教育, 2017(9).
[2] Y Xie, D Zhong.Reformation of computer programming language teaching in higher vocational colleges based on the characteristics of python language grammar[J].Advances in Higher Education.2017(1).
[3] Philip Guo.Python is Now the Most Popular Introductory Teaching Language at Top U.S.Universities[EB/OL].http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introintrodu-teachinglanguage-at-top-u-s-univeruniver/fulltext.2014.7.7.
[4] 牟琴.“輕游戲”對(duì)計(jì)算思維能力的培養(yǎng)——教育游戲?qū)Τ绦蛟O(shè)計(jì)基礎(chǔ)課程教學(xué)的影響[J].遠(yuǎn)程教育雜志, 2011, 29(6).
[5] 楊蘭娟, 王金雙, 陳萍,等.游戲編程融入教學(xué)中的應(yīng)用研究--以《程序設(shè)計(jì)基礎(chǔ)》為例[J].電腦知識(shí)與技術(shù), 2016, 12(4X).
[6] 江耿豪, 鄭煒冬.編程游戲在計(jì)算機(jī)語(yǔ)言教學(xué)中的運(yùn)用[J].閩南師范大學(xué)學(xué)報(bào)(自然版), 2006, 18(2).
謝宇飛,男,講師,軟件工程碩士,主要研究方向數(shù)據(jù)挖掘、智能計(jì)算。
本文為江西應(yīng)用技術(shù)職業(yè)學(xué)院2016年校級(jí)教改課題項(xiàng)目“基于Python即時(shí)模擬仿真游戲化系統(tǒng)的高職計(jì)算機(jī)編程語(yǔ)言教學(xué)改革研究”的研究成果之一。