少兒編程,只知道Scratch你就Out啦!

“孩子編程必須從Scratch起步嗎?”

“少兒編程學Scratch才是王道!”

等等……

看來,小斑有必要將

少兒編程發展的歷程

以及更多優秀的少兒編程工具

呈現給大家。

01

Scratch誕生記

讓孩子對電腦編程,而不是讓電腦對孩子編程。

——西摩爾·帕普特(Seymour Papert)

要說Scratch的誕生,就不得不提及少兒編程之父,西摩爾·帕普特(Seymour Papert)。

少兒編程,只知道Scratch你就Out啦!

▲西摩爾·帕普特(Seymour Papert,1928.2.29~2016.7.31)

他是來自南非的計算機科學家、數學家及教育家,人工智能發展先驅

早在 60 年代,帕普特就在思考,怎麼才能讓電腦成為孩子學習的好幫手,讓孩子成為電腦的主宰。為了讓孩子能用電腦做點有意義的事情,帕普特發明了 LOGO 編程語言,這一語言非常簡單,任何一個小孩一天就能學會。

在 LOGO 的世界裡有一隻小海龜,你可以通過輸入指令,讓海龜在畫面上走動,可以向上下左右,或者是按照你指定的角度移動。你還可以讓小海龜以加速或減速移動,也可以讓小海龜重複某一個動作。

少兒編程,只知道Scratch你就Out啦!

▲孩子可以在鍵盤上寫下指令,讓小海龜在畫面上走動,海龜會留下痕跡, 相當於在屏幕上畫線。

1984年,樂高公司的CEO拜訪了MIT實驗室,在與帕普特洽談中,帕普特提出來,能否創造一個能替代電腦的樂高零部件——一個具有計算的功能,又能跟樂高一樣小巧,又足夠便宜的零部件。在當時,這是一個巨大的挑戰,而這個設想直到 14年後才得以實現。

1998年,樂高發布了全新的可編程機器人產品——Mindstorms 系列,掀起了一場全球的機器人風暴。

少兒編程,只知道Scratch你就Out啦!

▲為向帕普特致敬,樂高用他 1980 年出版的書名(Mindstorms)作了註冊商標。

少兒編程,只知道Scratch你就Out啦!

▲1980年,帕普特出版了《Mindstorms》(頭腦風暴:兒童、計算機與強大的想法)

樂高 Mindstorms 在 1998 年 9 月發售,當年 12 月 1 日即全部售罄。時至今日,樂高機器人依然是全球最火爆的教育機器人。

同樣受到帕普特啟發的還有一名青年記者。一次偶然的機會,他聽了帕普特的演講,由此改變了他對計算機的認知。第二年,這個年輕記者拿著MIT的獎學金,參加了帕普特的研討班。

這個青年記者就是後來的“Scratch 之父“—— 米切爾·瑞斯尼克(Mitchel Resnick)。

少兒編程,只知道Scratch你就Out啦!

▲Scratch之父:米切爾·瑞斯尼克(Mitchel Resnick)

他是MIT實驗室學習研究教授,同時也是樂高教育全球董事,是主導樂高機器人背後的科技巨人

作為帕普特理念的繼承者,瑞斯尼克在 LOGO 的影響下,推出了更先進的面向兒童的編程語言——Scratch。Scratch的首個版本是於 2007 年發佈的,建立在 LOGO 的理念與樂高機器人編程工具基礎之上。

少兒編程,只知道Scratch你就Out啦!

▲Scratch的編程方式是命令式圖塊的邏輯去搭建,更易於兒童理解。

至今,Scratch 的在線平臺已經有超過 3900 萬註冊用戶,被翻譯成 70 餘種語言,在 150 個國家裡被使用。Scratch 語言與各種硬件和軟件相結合,被廣泛使用在學校、家庭以及校外的計算機、編程教育等。教師也用Scratch語言服務於其數學、科學、地理、歷史、藝術等教學。Scratch 為兒童創造了一個低門檻的編程學習環境,也方便孩子將來學習其他編程語言。

以上,就是Scratch誕生背後的故事。

02

兒童編程語言進化史

Scratch是可視化編程語言(Visual Programming Languages,下面統一用縮寫:VPL)的一種。

可視化編程被業內認為,是教授給孩子們計算機科學和計算思想的最好方式。由於可以擺脫艱澀的編程語法,孩子們在很小的時候就可以靈活地掌握軟件編程的精髓。

少兒編程,只知道Scratch你就Out啦!

▲Scratch的誕生,是VPL語言發展史中重要的一塊里程碑。

圖片來源:constructingkids.com 作者:Martin Exner

在過去的五十年,程序設計師們不斷地改進帕普特所創造的LOGO編程語言,進而出現了一大批界面稍有不同而核心思想相同的編程語言。

少兒編程,只知道Scratch你就Out啦!

▲近幾十年間所出現的各類VPL

圖片來源:constructingkids.com 作者:Martin Exner

由於scratch編程語言的流行,當前的編程教學標準是基於模塊(blocks)的編程方式。在CSTA的K-12計算機科學教學標準中,對於K-5年級,要求學生達到“使用基於模塊的可視編程語言來構建和測試解決方案”的編程能力。

CSTA是什麼

CSTA全稱Computer Science Teachers Association,即成立於2004年的計算機科學教師協會。

CSTA發佈的K-12階段計算機科學標準(CSTA K-12 CS standards),以其成員廣泛性、計算機科學教育方面專業性,而成為美國各州、各地區學校制定本地化課程大綱的指導標準。

我國對信息技術課程教育仍處於摸索階段,CSTA對於我國信息技術課程設置、評估和實施途徑具有重要的借鑑意義。

計算機科學教育的另外一個趨勢是受眾越來越年輕。研究表明,僅僅五歲的孩子就能夠掌握計算機編程的概念。不過,要教還不認識字的孩子們學習編程,程序中就需要避免使用文字。在Scratch Jr 和 Code.org 的第一階段課程中,都使用圖標替代了文字。

少兒編程,只知道Scratch你就Out啦!

▲Scratch Jr的程序界面

可視化編程教育的另一種實現形式,是讓孩子們看見自己的代碼在現實生活中出現,這將引起他們極大的興趣。這就是機器人編程。

之前提到的樂高Mindstorms,就是將基於模塊的編程帶到了現實世界。學生們可以在計算機上寫程序,然後將其下載到他們搭建的機器人裡。

少兒編程,只知道Scratch你就Out啦!

▲樂高Mindstorms EV3 程序圖

此版本可以給模塊增加輸入參數,以指定距離、時間、輸出等等。

由LOGO語言衍生出了非常多的編程語言,它們大多都是圍繞著特定場景產生的,比如創建遊戲、製作 3D 故事情節環境、繪製圖片、機器人編程,甚至可以控制虛擬魚缸。這些VPL吸引了許多的孩子,但是還有很多人在學習編寫一段程序時,仍然感覺有些困難。

除了這些基於模塊的編程語言,還有一種新的語言採用了不同的方式來教孩子們編程。

2015年,奇幻工房(Wonder Workshop)設計一個名為 Wonder 的新編程語言,採用的是“基於流”(Flow-Based Programming)的編程界面。Wonder可以讓學生們將注意力放在一些預先定義好的功能單元的連接上,來構建一個狀態機(state machine)。

在任何時刻,機器人都是一個單一的給定狀態;它會做一些操作,給一些輸入就會讓它改為做不同的操作。

少兒編程,只知道Scratch你就Out啦!

▲以上展示瞭如何使用“基於流”的方式來判斷起床後的任務。

除了擺脫了線性編程的範式,Wonder的這種編程語言還提供了一種不同的計算思想:讓學生們以一種容易掌握的方式來模擬響應現實中的變化。

學生們可以更容易地把問題分解成小部分,每次只需要關注一個問題,以此解決非常複雜問題。這個過程稱之為分解,既是計算機領域的基礎知識,也是 Wonder 的設計目的。

少兒編程,只知道Scratch你就Out啦!

▲Wonder程序圖

這個程序是用來控制機器人在感應到不同狀態時,亮不同的燈光

在斑馬課堂裡,我們有“代碼指揮官”與“機器人指揮官”,這對應了兒童編程教育兩塊非常重要的組成部分:軟件編程與機器人硬件編程。

少兒編程,只知道Scratch你就Out啦!

少兒編程,只知道Scratch你就Out啦!

回到開頭的問題,在斑馬課堂,代碼指揮官所指向的,不僅僅是一種編程語言,隨著計算機語言的更新迭代,我們希望讓孩子掌握核心的計算思維以及靈活運用的能力,這與西摩爾·帕普特的思想是一致的。我們希望孩子能主宰計算機和人工智能,而不是它們所奴役。

03

少兒編程的”好朋友”

下面,小斑將推薦一些與Scratch同樣優秀(而且,從使用基數上講,也完全不屬於Scratch)的少兒編程工具哦!

Tynker

Tynker語言是在Scratch上發展而來的,完全基於瀏覽器平臺運行,底層代碼是使用開放的Web標準編寫而成,比如Javascript、HTML5、CSS3,但是並沒有使用Flash。

Tynker看上去和Scratch非常相像,但是Scratch是旨在編程,而Tynker的重心則是教授編程。Tynker有設計教案功能,同時還有課堂管理工具,以及在線演示學生們的“大作”。

整體來說Tynker裡的遊戲更多更豐富,可玩性很強。但是由於是英文界面,加上游戲過程中系統不會進行細緻的內容講解,還是需要家長陪同的,或適合年齡較大,認知能力比較強的孩子玩。

少兒編程,只知道Scratch你就Out啦!

▲官網:www.tynker.com

除了以上優點意外,Tynker有按鍵可以隨時在圖像式與代碼式編程界面(Swift)之間切換,可以讓孩子輕鬆掌握程序語言和自然語言之間的對應關係,為孩子們未來學習代碼式編程語言提供了發展空間。

要知道,Swift可是蘋果公司創造的用於為IOS/Mac/Apple TV/Apple Watch開發APP的開源編程語言。如果孩子們先從Tynker 入門學習編程,再切換升級到Swift,以後就能編寫出App Store 上架的APP,這是真正的“學以致用”!

少兒編程,只知道Scratch你就Out啦!

Code.org

也許你沒聽說過code.org,但你一定對風靡全球的“編程一小時(An Hour of Code)”的活動有所耳聞。Code.org創建於2013年,它以動畫、遊戲等等多樣的方式給學生免費提供計算機科學課程。(小斑劃重點:免費)

目前有35萬名老師註冊了Code.org,為學生提供計算機科學入門課,約1100萬個學生註冊賬號。在美國,有超過100個學區把Code.org的課程整合到自己的學校當中。

2013年末,Code.org在全美舉行了“編程一小時”活動,吸引了超過2000萬名學生參加,在兩週內寫了近7億行代碼。美國總統奧巴馬也曾參與該活動。

少兒編程,只知道Scratch你就Out啦!

在Code.org學習編程,不需要用到編程語言,而是直接通過積木拼接完成任務,重在邏輯思維訓練。

少兒編程,只知道Scratch你就Out啦!

▲官網:https://studio.code.org/courses

Code.org深入貫徹了“興趣即第一驅動力”的理念,用有趣、好玩的方式循序漸進地引導孩子進行學習,從培養思維模式到自主創造創新。不同年齡段、不同學習階段的孩子都能在這裡找到適合自己的進度。

MakeCode

MakeCode由微軟公司出品,為用戶提供圖形化編程環境。打開網頁即可編程,旨在打造有吸引力的計算機科學學習體驗,為實際編程奠定基礎。MakeCode 為不同水平的學習者提供有趣的項目、即時結果、積木塊編輯器和文本編輯器,讓所有學生了解計算機科學的實際應用。

MakeCode功能強大,能夠結合micro:bit、Circuit Playground Express、Minecraft我的世界、樂高EV3、Wonder的達奇機器人Cue、Arcade遊戲掌機等進行編程。

少兒編程,只知道Scratch你就Out啦!

▲MakeCode可連接的開源硬件

MakeCode對初次編寫代碼的學生十分友好,可以從彩色塊開始,將彩色塊拖放到工作區來構建程序。

當學生們具備一定基礎時,便可以改用功能齊全的Java Script 編輯器。且編輯器中會提供代碼片段、工具提示和錯誤檢測工具。

少兒編程,只知道Scratch你就Out啦!

▲MakeCode編程界面

雖然Makecode本質上仍然還是以圖形化編程為主,但是從實際使用中,無論是上手難度還是計算思維的要求,比Scratch都是略有提升的。家長們可以根據孩子的學習情況和階段進行適當調整。

介紹完這些優秀的少兒編程啟蒙工具,小斑需要提醒家長,每款工具都有各家的長處和難度範圍。

Code.org較為基礎,可以作為啟蒙工具!

Tynker難度稍高一些,可以實現代碼式編程學習(Swift)的轉換橋樑!

MakeCode難度頗高,同樣可以實現代碼編程學習(JavaScpript)的過渡,而在連接各種傳感器和模塊上,MakeCode有無限的擴展性。這對孩子的編程能力、邏輯思維和動手操作能力有明顯的提高作用。


分享到:


相關文章: