劉立云 沈航冉
“計算思維”是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,能給與人思考問題的正確方法,對構(gòu)建算法有著重要的意義及啟蒙作用。教育游戲是一種針對特定的教育目的而開發(fā)的嚴肅的游戲,教育性與娛樂性并重,它以游戲作為教育手段,將所要教授的知識以游戲的形式呈現(xiàn),從而達到“寓教于樂”的效果。當前,計算思維已經(jīng)成為人們生活中解決問題的首選思考模式,也是人們思維能力的主要特征之一。
研究現(xiàn)狀及核心概念界定
現(xiàn)今社會已步入了高速發(fā)展的人工智能階段,機器學習、數(shù)據(jù)挖掘、深度學習等不斷發(fā)展,機器和人相互協(xié)作、相互影響,最終導致機器愈發(fā)智能化,人們在生活中和思想上解決問題的思路也愈發(fā)工程化,于是計算思維應運而生。在這個過程中,計算思維逐漸被確立為繼“3R”——閱讀、寫作和算數(shù)能力之后的“4thR”能力,我們應該明確,它并不是專業(yè)人士才能學會的技能與本領,而是可以被所有人理解并掌握的能力,即它不局限于計算機專業(yè)領域,而是可以被所有人掌握的解決問題和認識世界的思維方式。研究發(fā)現(xiàn),4歲左右的兒童已經(jīng)具備理解基本的計算機編程概念的認知水平。因此,教育界開始嘗試培養(yǎng)兒童的計算思維能力,如美國開設了在4~7歲年齡段培養(yǎng)計算思維的相關(guān)課程,國際計算機科學教師協(xié)會(CSTA)也提出了K-5兒童需要掌握模塊化可視化編程語言和測試方案的能力。與此同時,APP Store及Steam商店等應用程序商店中兒童編程游戲也開始出現(xiàn),并受到了用戶的持續(xù)關(guān)注和追捧。然而,現(xiàn)有的編程游戲缺乏創(chuàng)新,核心玩法機制設計大同小異,游戲挑戰(zhàn)規(guī)則設計老套,游戲質(zhì)量和算法質(zhì)量良莠不齊。基于以上現(xiàn)狀,為了達到推陳出新的目的,在解構(gòu)計算思維能力的基礎上,本研究擬以中小學生為教育游戲?qū)W習化的主體,依據(jù)現(xiàn)有編程游戲設計中存在的問題進行創(chuàng)新改進,以《小松鼠智闖代碼森林》為實例分析兒童編程游戲的設計框架。
1.計算思維
計算思維這一概念于2006年3月被首次提出,提出后便引起了世界范圍內(nèi)的廣泛關(guān)注,在其概念傳入國內(nèi)后,相關(guān)學者就在計算思維方面進行了多種研究,其被搜索率從整體上看呈逐年上漲趨勢,可見計算思維已經(jīng)逐步深入到我們生活的方方面面。
計算思維好比算法,是抽象的一種思維模式。在用算法解決問題的時候,我們往往需要先從分析問題入手,再進行建模,最后用相關(guān)工具或語言實現(xiàn)功能。而計算思維也是如此,但它不僅僅是基于編程語言的再實現(xiàn),更是一種如同騎自行車、讀寫本國語言那般的思維活動,這種活動受到生活中種種外力影響,進一步影響并改善我們的思維能力。所以,不妨認為計算思維是基于計算機的一種科學手段來改善人們的思維方式,是計算機時代的產(chǎn)物,是每個人都應學會并理解的一種能力。
2.教育游戲
游戲源起于古代,用于娛樂休息。隨著時代的發(fā)展,游戲也被賦予了新的使命,游戲不再只是用于休閑娛樂,對于教育游戲而言,玩家可以在游戲中了解到相關(guān)知識并對知識有初步的學習應用。
3.編程教育游戲
編程是計算機語言發(fā)展的產(chǎn)物,在計算機信息時代,各種編程語言也隨之發(fā)展。然而,并非所有人都有能力或有條件接觸編程,而編程又是培養(yǎng)計算思維的絕佳方法,因此專業(yè)人士開始引入了編程教育游戲的概念,所謂的編程教育游戲,就是以編程為游戲主題,結(jié)合傳統(tǒng)教育游戲進行開發(fā)的一條游戲分支,旨在培養(yǎng)玩家的編程思維能力。
4.以計算思維為導向的編程教育游戲
對于編程教育游戲而言,最終的目標已經(jīng)確認,即培養(yǎng)編程思維能力,但如何培養(yǎng),怎么樣可以更好地進行培養(yǎng),就成了當前研究的重點與目標。研究發(fā)現(xiàn),編程思維能力與計算思維有著不可分割的關(guān)系,它們相輔相成,因此以計算思維為導向進行編程教育游戲的設計,將會獲得更好的效果。與此同時,通過游戲最后的目的即編程思維能力的培養(yǎng),又可以反作用于計算思維的培養(yǎng),通過學習到的計算思維能力,可應用于生活各處。
現(xiàn)存編程教育游戲的問題剖析
世界上第一款孩童編程教育游戲《LOGO編程語言》通過輸入代碼控制小烏龜進行移動繪畫。雖然它利用了可視化的方法幫助玩家理解游戲及機制,但對于從未接觸過編程甚至從未接觸過計算機相關(guān)思維的孩童來說,這種可視化的方法依然較難理解——這更像是為程序員而開發(fā)的游戲。
游戲1的劇情為悟空在花果山中駕著筋斗云,認識游戲場景中出現(xiàn)的所有場景所對應的漢字。例如,花果山對應漢字“山”,在游戲中,只要觸碰到花果山這個場景,就會彈出一個寫字框,告訴玩家如何書寫漢字“山”。這個“山”在游戲中不會再出現(xiàn),即所謂的“學過了,就過去了”,這種方式只是通過繪本故事來灌輸漢字知識,缺乏連續(xù)性的設計。
游戲2是一款基于Steam平臺的城市建造沙盒類游戲,在游戲過程中可以學到建造樓房、布局樓盤、環(huán)境分布等一系列關(guān)于城市建造的知識。這類游戲的一個顯著特點是游戲時間長,建造過程慢,需要多次游戲才能有階段性成果,所以云存儲成為了必要。在該游戲中,每次游戲結(jié)束前都可以將游戲進度保存到云盤中,下次打開游戲后便可以讀取云盤內(nèi)容獲得游戲中已經(jīng)建造的所有信息。然而,這款游戲雖然在Windows平臺可以流暢運行,但在Mac OSX平臺卻運行困難,在產(chǎn)品兼容性方面存在問題。
綜上所述,現(xiàn)有編程教育游戲大都存在缺乏連續(xù)性設計、過于高估孩童對編程的理解能力、產(chǎn)品兼容、游戲玩法核心機制單一、只注重代碼編寫培養(yǎng)而忽略計算思維能力的培養(yǎng)等缺點。
以計算思維為導向的編程教育游戲《小松鼠智闖代碼森林》的設計
1.關(guān)卡1——鍵盤移動
在本關(guān)中玩家使用左右方向鍵和Z跳躍鍵進行冒險,發(fā)現(xiàn)并收集隱藏在草叢中的物品然后吃鉆石進入下一關(guān)。本關(guān)中,玩家使用鍵盤控制人物進行移動,玩法與《超級瑪麗》相似,本關(guān)以委婉的口吻進行了額外的提示:玩家應當學習并懂得方向的英文說法,但并沒有在游戲中直接體現(xiàn)。
2.關(guān)卡2——鍵盤移動續(xù)
在本關(guān)中仍舊保持著關(guān)卡1的風格,只是在每關(guān)特有的提示上做了改動,進一步闡述了英文在計算機中的作用,并開始出現(xiàn)了編程的概念,使玩家進一步了解所編寫程序在計算機中是如何執(zhí)行的。
3.關(guān)卡3——鼠標模擬鍵盤移動
在本關(guān)中鍵盤已經(jīng)不再可以操作行動了,而改為左上角的三個按鈕。本關(guān)的目的和意義是讓玩家了解并非必須使用方向鍵才能進行移動,移動的指令所對應的代碼是固定的,想移動的話可以隨時改變鍵位,甚至不需要鍵盤只使用鼠標也可以進行移動,它們的本質(zhì)是相同的。
4.關(guān)卡4——鼠標模擬鍵盤移動續(xù)
在本關(guān)中仍舊保持著關(guān)卡3的風格,只是加大了游戲的操作難度和趣味性,作為一款編程教育游戲,不能只考慮傳輸知識,還必須提升游戲的趣味程度,這樣才能增加玩家的興趣以及在游戲中的沉浸感。本關(guān)仍然包含隱藏物品可以收集,至此,所有隱藏物品已經(jīng)全部出現(xiàn)在本游戲中,它們分別是字塊Float、False、True和While。每當收集到物品時,會出現(xiàn)相應的提示與解釋,使玩家不知不覺學習并了解到這些字塊的作用和意義,即達到了連續(xù)性設計的目標。
5.關(guān)卡5——代碼指令移動
在關(guān)卡設計方面,本關(guān)卡保持了和前面幾關(guān)相同的游戲背景風格,游戲任務也依舊是尋找隱藏物品并觸碰鉆石以進入下一關(guān)卡,即保證了游戲的連續(xù)性與沉浸性。本關(guān)卡需玩家自行寫出代碼完成松鼠的移動,游戲頁面右上角有一個簡易的代碼編輯器,玩家可以通過輸入相應的指令來移動小松鼠。本關(guān)的目的是讓玩家了解到并非必須使用外設才能進行操作,在計算機系統(tǒng)中外設所對應的本源也將會是程序中的代碼,所以這里直接讓玩家書寫代碼來完成任務。由于前面的關(guān)卡已經(jīng)對這些知識進行了詳細的介紹,從簡至難逐層過渡,因此不會有突兀的感覺。
6.關(guān)卡6——道具使用實時效果
在最后一關(guān)中,玩家將結(jié)合所學的編程知識進行思考,反作用于計算思維的提升,右上角的代碼編輯器改為一個死循環(huán)代碼段,玩家需從背包中選擇正確的道具代碼塊“Float”對其進行覆蓋,將循環(huán)判定條件改為假,方可結(jié)束死循環(huán)。為了使玩家更容易理解,所以結(jié)合了本游戲中的道具“刺兒”實時體現(xiàn)出循環(huán)的意義,原本不斷掉落的“刺兒”一旦被修改了循環(huán)條件,將會停止生成,道路會被打通,玩家可以通過。
結(jié)論與展望
通過對教育游戲近年發(fā)展的思考,筆者認為將教育游戲與思維培養(yǎng)結(jié)合在一起,利用游戲本身邏輯性強的特點,設計以計算思維為導向的編程教育游戲,將會是一個提高學生學習效率、增大學生學習興趣的方式。使用教育游戲的形式進行思維培養(yǎng),其優(yōu)點體現(xiàn)在以下方面:①教學者化身為游戲角色,使用教學模型進行引導,更具有“代入感”。②玩家使用預先制訂好的模型進行學習,邊學邊玩達到“寓教于樂”的效果。③在游戲中興奮時間更為長久,并且會自發(fā)地進行思考。④以游戲的形式展現(xiàn),玩家會更感興趣。本研究通過《小松鼠智闖代碼森林》教育游戲,論證了以計算思維為導向的編程教育游戲?qū)崿F(xiàn)的可能,并分享了設計此類游戲的思路。在設計時首先明確了大方向即教育游戲,在此基礎之上以編程教育為主要內(nèi)容,開始制作編程教育游戲,以計算思維為出發(fā)點,在游戲最后回歸計算思維的應用,二者相輔相成。當前,計算思維已逐步融入人們的生活,培養(yǎng)計算思維已勢在必行,尤其是對于中小學生而言,他們正處于思維的成長階段,好的計算思維可以讓他們更加理性地認識世界、解決問題。
基金項目:本論文為山西大同大學大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目課題:“設計思維支持下的小學創(chuàng)客教育實踐探究”(課題編號:XDC2019210)的階段性成果。