換種方式學編程:如何訓練你的機器人

jopen 11年前發布 | 8K 次閱讀 編程

        上周日,我教六個 5 到 7 歲的小朋友學習編程。“用什么編程語言?”你可能會問。其實我沒有用編程語言,至少不是你所知道的。事實上,我就沒有用電腦。取而代之的,我發明了一個叫 做“怎樣訓練你的機器人”的游戲。在我解釋怎么玩這個游戲之前,請讓我說說我的動機。

        當我 19 歲讀大一的時候,我在 MIT(麻省理工學院)學習了編程。那并不是因為家里沒有電腦或者我壓根沒聽說過編程語言。而是因為:①我認為編程是件枯燥的事 ②沒人告訴我為什么我要為此煩惱。事實上,我的高中計算機老師告訴過我,“你沒必要浪費自己的時間去學習怎么編程。現在我們有了可視化工具去構建程序。編 程語言已經過時了。”那是 1994 年,他提到了 Visual Basic。對我來說,幸運的是,在 MIT 幾周的時間內,這件事就煙消云散了。但一個人是不是非要等到大學才能接受適當的教育呢?

        學習如何編程正成為今天我們能教給孩子們最有用的新技能。我們的生活比以往任何時候都更加依賴于我們給計算機指示的命令程序有多么智能。計算機 掌握著我們的個人數據,它們為我們做決定,它們為我們互相通信,它們正逐漸成為我們大腦的延伸。如果我們不把學習編程作為童年的一部分,我們永遠不會進 化。正如著名的未來學家 Ray Kurzweil 說的,“唯一你應該擔心你孩子學習的第二語言是編程(語言)。”

        怎樣訓練你的機器人

        這個游戲操作如下:每一個孩子作為“機器人指揮者(robot master)”,他們的媽媽或者爸爸作為他們的“機器人(robot)”。我給每個孩子一本“機器人語言字典”并且告訴他們這是他們的機器人能理解的語 言。這本字典有“向前移動左腿”,“左轉(turn left)”,“抓起(grab)”,“放下(drop)”等符號。

換種方式學編程:如何訓練你的機器人

        游戲的目標是讓機器人們穿越障礙訓練場,撿起一個球并把它帶回來。孩子們需要寫一個程序來告訴機器人怎么做那些事。每次他們寫一個程序,就交給 他們的機器人,然后機器人就執行程序。為了這么做,我給了每個孩子一支筆和一張紙,讓他們從(機器人)字典復制符號來寫出他們的程序,然后交給機器人們動 起來!

換種方式學編程:如何訓練你的機器人

        每個機器人拿回球的時候,有趣的事情就開始了。現在我讓孩子們發明他們自己的動作和符號,添加到字典中并且教會他們的機器人們。對于孩子們想出的(符號等)是沒有限制的。

這是我最喜歡的程序(一個五歲的小女孩寫道):

換種方式學編程:如何訓練你的機器人

        我設計這個課程去教一些計算機科學與編程非常基本的原則:

  • 編程語言僅僅是另一種與實體交流的方式。(通過程序)
  • 程序是自動操作事物的秘方。

但是,令我感到驚喜的是孩子們學會了多少。(在 30 分鐘的時間內,)他們自己就弄明白了下面這些東西:

  • 程序參數化:為了替代寫 10 遍“向前走 1 步”,他們在“步”符號前面寫了 10(一個五歲的孩子想出來并且問我她能否這么做)
  • 創作:將一套動作編組(“左腿向前,然后右腿向前并做這個組合 10 次”)
  • 抽象:“繞圈跑,然后說‘我暈了’,然后叫這個為‘跑暈’程序并且執行 100 次。(出于某些原因,孩子們喜歡讓他們的父母重復做超過 100 次同樣的事)”
  • 單元測試:他們會寫一個測試程序讓他們父母移動幾步,讓父母運行程序,然后修正并且再次運行程序,最后再加入一些步驟直到達到目標。

        我現在已經開課兩次了,并且我看到了相同的模式,當孩子們玩得快樂時,在編程時他們會變得非常聰明并且有創造性,這堅定了我的信念。許多父母計劃在生日聚會時玩這個游戲。如果你對怎么設置游戲有疑問,毫不猶豫得寫下來吧。你可以在 www.非死book.com/drtechniko. 找到我的聯系方式。

        在這篇文章中,你也能看到如何教授這門課程的指南和資料。

        我希望我們今天學到了一些有用的東西。

        Dr Technik        

英文原文:Dr Techniko,編譯:@EluQ,校稿:伯樂在線黃利民

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!