大家有沒有和我一樣的感受,現代技術正在改變著我們生活的每一天。
今年7月份我跟孩子們在劍橋大學做學術交流,期間也參觀了劍橋鎮的計算機博物館,里面展示了從第一臺計算機到現在的計算機的演變,看到這些計算機的“體型”,感覺自己仿佛回到了童年 ▼
看著這一排笨拙的計算機身影,孩子們驚訝極了,反復去確認計算機發展的年代表,不斷發出感嘆:
天啊,短短10年,計算機已經有那么多的改變!
所以現在當孩子們 深度學習編程和機器人的時候,我能感受到他們歡呼雀躍的探索心情。而且在深度學習之前,我和孩子們已經進行了3年多的編程活動了,即從幼兒園開始,他們已經在 接觸并掌握著基本的編程知識,去學習如何像程序員一樣思考。
而且在這個過程中,我跟孩子們用的教具是樂高、紙,而不是電腦上的代碼,下面跟著我的步驟來了解,你一定會覺得相當有趣。▼
我根據這幾年跟孩子玩的經驗心得, 整理了4個級別的難度,里面涉及到了各種編程概念,大家在跟孩子玩的時候,也可以用起來。
第1級
讓孩子學會從迷宮中人物的角度思考
程序員思維方式中很重要的一點是 代碼轉化,所以在玩樂高時,孩子能夠看到具體的問題,并且幫助他們的樂高小人走出迷宮。這個是最簡單的 教會孩子從不同于自己的角度去思考。舉個例子,我跟大家示范一張圖,當你拿著這三張牌問孩子,樂高小人怎么走,才可以碰到小馬呢?如果孩子沒有站在樂高小人的視角看,孩子給你的答案可能并不一樣。▼
對于剛開始接觸編程的孩子來說,學習如何轉化視角,相當關鍵。
你可以用樂高迷宮跟孩子做這幾個梯度的游戲。比如題目1,你先讓孩子理解 “樂高小人的角度”是什么概念,比如剛剛的問題,“樂高小人要怎么樣才能夠到小馬?”答案就是:向前走。▼
等孩子了解這個基本概念后,你可以給孩子繼續出一道題,就是帶轉彎的迷宮設計,比如下面這道題目2:“樂高小人怎么走才能夠到小花呢?”▼
你需要遞給孩子一些相應的方向牌,幫助孩子完成解題,我在文末的資料分享里都有,大家可以先下載出來打印和裁剪好,比如你給孩子的基本卡牌是“前進、左轉、右轉”這幾張,▼
然后就可以引導孩子去試驗,直到孩子跟你一起找到這個答案。▼
第2級
讓孩子學會使用循環指令來完成命令
如果孩子已經對第1級掌握的比較熟練了,那么你可以引導孩子學習如何使用一個循環。舉個例子,下面這道題目,同樣是樂高小人去夠到小馬,那哪一個方案是1級語言,哪一個方案是2級語言呢?▼
如果孩子使用的卡牌一直保持“go forward” “go forward ” “go forward ”,這是第一級的編程語言。 但如果孩子使用的卡牌是 “for 3 steps go forward”,就達到了第二級的編程語言了。
引導孩子去思考“用多少步”,而不是一遍又一遍地重復相同的卡片,這便是編程語言的“for”循環。
所以在第二級的時候,關鍵是引導孩子學會如何說“下一個命令執行N次”的概念,比如向前走3步,再轉右,都是在幫助孩子理解“for循環”的概念。大家可以看看這個圖更直觀地了解兩級語言的轉變。 ▼
第3 級
引導孩子用條件語句來抽象思考
條件語句(if、else if)是幫助孩子提高決策力,我之前在文章跟大家分析過。這是孩子學習抽象思考的必經之路。實際上,當你在寫程序的時候,你需要考慮所有的可能性,并且評估每種情況下應該做什么,以怎么樣的順序來執行。比如下面這道題目,樂高小人如何夠到小馬?▼
這里你會發現,樂高小人前面可能有墻,也可能沒有墻,左邊可能有墻,但右邊可能沒有墻,這些形成的樂高迷宮,都需要孩子思考樂高小人的行進路線,通過思考這些可能性,基于有限的選擇就可以編寫出多種代碼,這便是孩子設計代碼的過程。
比如:“如果我面前沒有墻,我就往前走”、“如果我可以左轉,我就往左轉”,這些都是條件語句的應用。 ▼
第4 級
引導孩子大量測試來找到新的可行方案
玩編程時孩子會遇到非常多隨機題目,但我并不鼓勵給孩子提供標準答案。因為引入隨機性,讓孩子去思考不同選項對整個程序的影響,是非常重要的編程思維。比如下面這道題,同樣是走迷宮,它就相對復雜很多,對孩子來說,可迷惑的選項也多很多。▼
比如這些是Eric和Joshua的方案,兩人的方案放在一起,就可以明顯看到一級編程語言和二級編程語言在邏輯上的不同思考之處。
到了第4級的時候,我也會跟孩子玩另外一個游戲,就是用同一套代碼,設計不同的迷宮。比如給孩子一張空白的迷宮圖紙:▼
再隨機給孩子一個代碼設計,之后就可以讓孩子去根據這些代碼來設計一個屬于樂高小人的迷宮了。▼
對于年幼孩子來說,他們設計的過程可能會出很多狀況,但沒關系,編程就是不斷試錯的過程,我們對孩子編程入門的唯一要求,就是鼓勵孩子多嘗試,通過大量的測試來找新的可行方案。
孩子可能會發現,如果他們嘗試在不同的迷宮里使用同一個代碼,反而有可能會讓自己無法成功,體現在自己的樂高小人如果按照自己的程序去走,最后一直都在死胡同里打轉,這便是程序里常說的“無限循環”。
所以如何引導孩子用同一套代碼,設計不同的迷宮,但又能讓樂高小人順利逃脫呢,這便需要激發孩子更高級的編程概念了,甚至這是孩子編寫程序的基礎;而如何寫一個程序,可以讓樂高小人走出任何的迷宮?這便是孩子后面可以探索的方向。
比如我之前分享過的 編程迷宮游戲 (點擊藍字查看),其實也是編寫程序的過程。▼
資源分享和下載
今天分享的這些方法,都在今天的這份資源包里了,共有10頁,里面已經包含了各種編程指令,例如“Go Forward”、“Turn Lelf”、“Turn Right”等等,大家可以裁剪下來使用,需要多少就打印多少。 ▼
資料包里還提供了可以用來做編程設計的迷宮題目,讓孩子可以通過這些題目把編程知識運用得更加得心應手。▼
根據今天文章里的4個等級難度,大家可以利用這份資源和孩子玩起來, 直接在公號后臺回復關鍵詞“編程迷宮”,就可以下載打印出來看啦,跟平時微信聊天一樣。
編程之于孩子來說是打開了一個新世界,但對于我們來說又何嘗不是呢?運用編程思維的過程提高了我們的決策和分析的能力,當孩子正兒八經使用編程語言來設計程序,像Joshua現在在學的Scratch,背后都是邏輯在支撐著。
但是最開始的時候也不需要太緊張,萬事貴在有趣,我們能讓孩子體會到趣味性就很好了,樂高迷宮是趣味性很高的編程游戲,也讓我們換一個角度去看平常玩的游戲,這或許就是樂高和編程的新融合吧!
如果孩子喜歡上了這個方式,也對編程語言有了基本了解,下一步就可以跟孩子玩編程機器人了,這是一個很大的編程思維的飛躍。
我們孩子是從3歲開始接觸各類 編程機器人,學校更是圍繞編程機器人開展了很多活動,讓孩子可以在教室里直接地用編程來學習、游戲和研究。
對編程機器人感興趣的朋友們可以點“在看”告訴我,我再跟大家分享下這些年來我家孩子體驗過的是哪些~好啦,我們下周見,記得周末可以跟孩子好好玩起來!
★近期資源分享:


