Screen Shot 2016-06-29 at 12.10.22 PM

【我們為什麼要挑選這篇文章】各間科技大頭都投注資源在兒童程式教育,但這不是說要把所有人都變成未來的工程師,而是培養不同的思維模式,讓兒童可以兒童可以學習解決問題、創造思考的技能。看看蘋果、微軟、Google的程式教育工具,看起來Google的Project Bloks好像最有可能讓兒童發揮創造力呢。(By責任編輯鄒昀倢)

在喬布斯生前接受的一次採訪中,他曾經說過這樣一句話:

這個國家的每一個人都應該學習程式,因為它教你如何思考。

後來,這句話被美國非盈利組織Code.org引用在一個旨在推動計算機程式教育的視頻開頭。在視頻中,包括比爾·蓋茨、馬克·扎克伯格、傑克·多西在內的眾多名人,都來呼籲讓少年兒童參與到計算機程式中去。

作為全世界計算機科學最發達的國家,美國非常重視針對少年兒童的程式教育。美國總統奧巴馬曾專門在YouTube上發布影片,呼籲美國年輕人學習計算機知識;而在後來的一次採訪中,奧巴馬再次強調了程式的重要性:

我們需要讓孩子們參與數學和科學,而這不僅僅是一小部分孩子,而應該是所有人。所有人都應更早地學習如何寫程式。

Screen Shot 2016-06-29 at 12.03.08 PM

(圖自:cnet

也許正是因為這種觀念的深入人心,科技巨頭們也都參與到針對少年兒童的程式教育中去。

  • 微軟:遊戲中學習

作為一個從計算機程式起家的老牌科技公司,微軟似乎格外重視對少年兒童的程式教育。

2009年7月,微軟研究院發布了一款名為  Kodu的XBOX 360遊戲,該遊戲實際上就是一款可視化程式語言,其目的就是希望通過遊戲來幫助小朋友們程式。不久之後,微軟將此遊戲移植到PC上,以方便更多的小朋友參與。

Kodu 的操作方式非常簡單,只需要通過遊戲手柄就可以。整個操作界面完全是一些易於兒童理解的圖標;孩子們的任務就是按照一定的規則對圖標進行組合和排序,最終實現特定的效果。

為了增加兒童們參與Kodu程式的積極性,微軟從2011年起每年都會舉辦一場  Kodu Cup的開發者大賽。參賽者年齡在9歲到17歲之間,獲勝者會獲得5000美元的獎勵。

除了Kodu,微軟還用Minecraft來教少年兒童來學習程式。

Minecraft 是一款沙盒遊戲。整個遊戲的最大特徵是沒有劇情,玩家在遊戲中自由建設,透過像樂高一樣的積木來組合與拼湊,輕而易舉的就能製作出小木屋、城堡甚至城市。它能夠最大程度地讓玩家發揮想像力和創造力,來實現自己想像中的場景。

2014年,Minecraft被微軟以25億美元的價格收購。一年後,為了支持Code.org推出的「程式一小時(Hour of Code)」項目,微軟與Code.org合作推出了一款基於Minecarft的免費教程,這款教程同樣也是為學生們打造。當中包含14個關卡,只有利用基本的計算機科學原理才能過關 。學生們需要點擊和拖動模塊來組成命令行,然後點擊「運行」來讓自己的角色執行相應的動作。

實際上,微軟還是Code.org 的最大支持者之一。這個2013 年成立的非營利性組織,一直在致力於推進面向少年兒童的程式教育;而微軟已經為其捐贈了超過300 萬美元的資金。

  • 蘋果:來零售店聽課吧

與微軟一樣,蘋果公司也是「程式一小時」活動的參與者。

從2013 年起,蘋果每年都會舉辦「程式一小時」活動。活動形式主要是在各地的蘋果零售店舉辦「程式一小時」講座,向兒童介紹程式的樂趣。

這一小時的程式課程其實並不是嚴格意義上的程序編寫,主要還是用一些簡單的遊戲給孩子們建立一些基本的程式概念。比如用憤怒的小鳥或植物大戰殭屍中的動畫形象,以遊戲的形式讓孩子能掌握基本的前進,左轉,重複等遊戲語言。

雖然這兩個遊戲比較簡單,並不能直接用生成的語言程式,但是可以讓孩子們明白每一個遊戲中的動作都是由這些小代碼組成的,方便日後學習,也有一些比較複雜的遊戲,甚至可以學到一些直接可用的編碼。

除了「程式一小時」,蘋果還有其他動作。

在不久前的WWDC上,蘋果發布了一款名為Swift Playgrounds的iPad應用,希望能幫助12歲以上的孩子們來學習基於Swift語言的程式知識。

蘋果還打算在今年的夏令營活動中,首次為8-12 歲的孩子們開設程式課程。

這個程式課程的名稱為「 遊戲編碼和機器人編碼」。蘋果將會使用來自Tynker的軟件來介紹模塊程式的相關知識,在此基礎上使用Hopscotch app編寫Sphero機器人程序。根據蘋果官網介紹:

小朋友們將學習直觀的遊戲分組編碼,並運用模式識別、問題處理等邏輯能力。然後,他們將運用學到的知識為自己的機器人編碼,讓機器人執行任務、接受挑戰和完成更多操作。

不過,今年這項課程僅僅在美國、英國、加拿大和中國等四個國家的零售店開設。

  • Google:通過模塊來寫程式

雖然與蘋果和微軟相比Google比較年輕,但是它對兒童程式教育的關注和投入同樣很多。

2012年6月,Google發布可視化程式語言Google Blockly。通過它,孩子們可以通過類似玩樂高玩具的方式用一塊塊圖形對象構建出應用程序。

Google Blockly的每個圖形對像都是代碼塊,可以將它們拼接起來,創造出簡單功能,然後將一個個簡單功能組合起來,構建出一個程序。整個過程只需要鼠標的拖曳,不需要鍵盤敲擊。

在今年召開的Google I/O大會上,Google 演示了其與麻省理工學院合作開發的兒童程式工具Scratch Blocks。Scratch是麻省理工學院媒體實驗室2007年開發的一款可視化程式語言,目的是方便兒童掌握程式的基本知識和其他技術技能。

除此之外,Google還推出了另外一種全新的兒童程式項目:Project Bloks

與此前的兩種計算機程式語言不同,Project Blocks是一種基於實體模塊的兒童程式項目。具體來說,Project Bloks提供了三種基本實體模塊,分別為Brain Board、Pucks和Base Boards。

Brain Board 類似於大腦和動力系統,Pucks 則像是身體的各個部位,而Base Boards 則負責將所有模塊連接起來。兒童們可以將這三種模塊依據各自的功能進行自定義組合,以此來實現不同的功能;比如說控制近處的小型機器人,讓它畫出一個正方形。

目前,Project Bloks 還在開發過程中,而Google 希望能有更多的開發者參與其中,幫助添加一些更加好玩的模塊,共同推動兒童程式教育的發展。

其實除了蘋果、微軟和Google,還有其他的一些科技公司也在參與兒童程式項目,比如說索尼的KOOV程式機器人。這些項目都有一個共同特徵:摒棄了複雜的代碼,將整個程式過程可視化,遊戲化,讓孩子們在快樂中學習到程式的樂趣。

還有更重要的一點,這些項目都是完全免費的。不管出於何種目的,在弱肉強食、你死我活的商業戰場之外,這些科技巨頭們抽身而出,實實在在為下一代開闢了一個相對溫暖的成長空間。

也許,這就是它們值得尊敬的地方所在。

本文經合作夥伴愛範兒授權轉載,並同意 xxxxOrange 編寫導讀與修訂標題,原文標題為〈為了讓孩子們學習編程,微軟、蘋果和Google 也是蠻拼的〉。