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