來源:中小學(xué)為師在線 2018-06-12 15:28:17
樂高風(fēng)格,科幻風(fēng)格的流程圖 (或文字) 展示代碼。機(jī)器人在玩家的計(jì)劃下,穿過場(chǎng)地去找電池充電的故事。場(chǎng)景三維的,有透視效果,轉(zhuǎn)起來的時(shí)候我有點(diǎn)暈,但是沒吐。一共9頁,共45關(guān),我玩了大半宿,可能4個(gè)小時(shí)左右,挺有意思的。
游戲有這么幾個(gè)特色,因此適合初學(xué)者上手學(xué)習(xí)編程。
3.1 受機(jī)器人能量 (步數(shù))限制,類似于 lightbot 的槽位,逼迫或誘導(dǎo)你不得不選擇新學(xué)的手段完成任務(wù)。
在軟件工程科目中,同學(xué)們通常都會(huì)有疑問,我用更基本的方法明明能做的題目,為什么非得逼我用你的某種方法。教師強(qiáng)迫使用,會(huì)讓同學(xué)們形成對(duì)威權(quán)的服從和避免思考帶來的傷害,也不會(huì)信服新方法就多么好,尤其在問題規(guī)模并不大的時(shí)候。所以,適合的限制,使得使用舊方法一定不成,就不是人為的,而是來自自然力的限制,讓人舒服多了。
游戲里通常有這樣的設(shè)計(jì),比如《帝國時(shí)代》的任務(wù)里,明明你的那個(gè)兵種這么這么就能贏,但是他剛好那天把刀放在了家里,只能徒手格斗。這種限制,如果你能接受作為游戲一部分,而不是故意難為你,那么還是挺有意思的。如果你不按受,那么感覺就類似于足球場(chǎng)上22個(gè)人搶那么唯一的一個(gè)球,多發(fā)幾個(gè)不就行了嘛。
3.2 循序漸近地引入知識(shí)。Robot School 比 lightbot 的關(guān)數(shù)更多,涉及的技術(shù)手段也更豐富。在這種情況下,逐步而不是一次性引入所有操作,就非常必要。
基本動(dòng)作涉及:行走 (距離),轉(zhuǎn)彎 (方向),開門,開盒子。這些動(dòng)作幫助掌握順序執(zhí)行和多種語句 (服從目的或遵循上下文環(huán)境)的選擇。
邏輯控制包括:循環(huán) (次數(shù)),在循環(huán)中行走、轉(zhuǎn)彎、開門,多重循環(huán) (在循環(huán)中循環(huán))。在循環(huán)中插入動(dòng)作,不像 lightbot 中那樣槽位明顯,而是可以擴(kuò)張的隱含的語句塊。
循環(huán)的引入也是個(gè)特色,通過 碰撞檢測(cè)道具 (每步檢測(cè)),機(jī)器人撿起那個(gè)道具以后,肩膀后面會(huì)多個(gè)像火箭炮一樣的裝備。到最后可以裝上3門之多,各有用途。每步檢測(cè),表達(dá)的是循環(huán),檢測(cè)磁撞,相當(dāng)于 if,連接在一起就是 while (cond) { do something; }. 這讓學(xué)習(xí)者對(duì)于 while...do 中到底發(fā)生了什么,有了可視的認(rèn)識(shí),更容易想像。
大炮筒一樣的道具,除了碰撞檢測(cè),還有顏色檢測(cè)。最初只是根據(jù)顏色作判斷 (引入判斷分支,然后引入判斷嵌套),后來顏色可以臨時(shí)存儲(chǔ)在變量中,等到以后再提取出來使用。
大炮筒道具,還有障礙距離檢測(cè),檢測(cè)的結(jié)果也可以存入變量中。這樣,又引入了多個(gè)變量以及變量命名的必要性 (不涉及變量命名的易讀易記 convention,僅用于區(qū)別三兩個(gè)變量)。
進(jìn)一步,變量需要做簡單的算術(shù)運(yùn)算 ( des1 -3 這樣的),從而引入了表達(dá)式,然后把表達(dá)式置入檢測(cè)條件。
最后階段,引入了一個(gè)障礙物,可以搬起來、帶著移動(dòng)、放下。這個(gè)障礙物的引用,看起來是前面所有知道的綜合應(yīng)用。在多個(gè)障礙物的關(guān)卡中,受能量的限制,玩家需要把 (1) 多次搬移磚塊, (2) 用相同而有略有差異的語句表達(dá), (3) 然后放入循環(huán)中,把差異作為循環(huán)中的變量。這要求在流程中發(fā)現(xiàn)模式,并用抽象 (abstract/common) 的方式表達(dá)出來。
最后一關(guān),看起來陰森恐怖,是個(gè)迷宮。迷宮并不會(huì)變,但是能量不足以供你根據(jù)迷宮的樣子寫出計(jì)劃,所以,需要寫出能走出迷宮的算法。二貓說,這個(gè)我從一本書上看到過,如果走不出去了,就沿著一側(cè)的墻走。我聽說這叫做走迷宮左手或右手法則,用 Robot School 流程圖的面板寫出來不短,所以完成以后頗有成就感。
4. Scratch (不是移動(dòng)端APP)
以上這些游戲,二貓有的在我?guī)椭齼纱魏笸瓿,有的還在進(jìn)行中,興致盎然。Scratch現(xiàn)在自學(xué)加我的幫助,玩得也很高興,并且是這里面最喜歡的。
有不止一位同事朋友向我推薦過Scratch,大名鼎鼎。最初我自己嘗試的時(shí)候體驗(yàn)并不好,因?yàn)榫W(wǎng)速。后來下載了PC版本,用起來倒是流暢了,如果不分享作品到官方站點(diǎn),可以容忍。提醒你時(shí)不時(shí)更新一下。我曾經(jīng)遇到過一個(gè)非常費(fèi)解的變量和循環(huán)的問題,感覺應(yīng)該可以那么用,雖然教程和手冊(cè)都沒有提到。請(qǐng)教了三兩位同事朋友,等答復(fù)期間發(fā)現(xiàn),是我的 Scratch PC版版本低,升級(jí)了以后毛病全無。
有些同事朋友的孩子直接使用了英文版,或者英語才是他們的母語,教程和工具都用英文,更方便一些。就二貓而言,做了幾個(gè)實(shí)驗(yàn)以后,仍然更喜歡中文版,雖然她也認(rèn)同中文版的翻譯錯(cuò)誤,比如 "mouse down" 翻譯為鼠標(biāo)下移,而其含義是鼠標(biāo)左鍵單擊。
二貓第一次接觸Scratch時(shí)小學(xué)一二年級(jí),做的是小貓?zhí)。沒有看教程或視頻,帶著她做了一遍,過程中講解需要的幾個(gè)部件,然后她自己修改和重做。作品是一個(gè)角色換幾個(gè)動(dòng)作 (循環(huán)10次) ,換動(dòng)作的時(shí)候放一小段聲音,看起來像跳舞的樣子。二貓認(rèn)為角色動(dòng)作生硬,更像是體操,但是覺得挺好玩。
最近讓她讀了一本中文教材,然后她自己照做和修改了一些實(shí)驗(yàn)。教材是 Scratch兒童編程樂園,凌秋虹 編著,江蘇科學(xué)技術(shù)出版社。連同網(wǎng)上還有些中文的手冊(cè)和教程,我自己都沒有讀過,沒法推薦。英文的,據(jù)說 youtube 上視頻教很多,官方站點(diǎn)上也有,但是,都是看不到的。英文手冊(cè)可能也不錯(cuò),不過,如果你是程序員打算教孩子的話,我猜不用太看。容易學(xué)會(huì),困難的是教會(huì)孩子。
相關(guān)推薦:
小升初試題、期中期末題、小學(xué)奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號(hào)
歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪問幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看