2013年11月28日 星期四

可以激發孩子寫程式興趣的十個工具


來源 http://www.inside.com.tw/2013/11/27/10-tools-to-get-kids-excited-about-programming

本文由極客範 -- 米可_GO 翻譯自Saikat Basu
001
早熟,最早以前是指一個孩子表現出了超人的天賦。隨著時間的飛躍,我不太確定這個詞是否還保留著以前的意思。在這個年代,那些還在蹣跚學步的小孩子們似乎對電子產品都有一種與生俱來的喜愛。所以,不難想像,他們離不開電腦——就像魚兒離不開水。
對於普通孩子來說(我暫且先不說像林鼎文這樣的孩子,儘管我會在文章中穿插些他很可愛的照片),電腦和智慧型手機是很有趣的工具,而真正的電腦教學對於這個階段的孩子來說還為時過早。想激發孩子們的程式興趣確實還有點困難,畢竟邏輯思維是需要花時間去培養的。首先必須要有足夠的想像力和創造力,而這正是下面十個工具的關鍵所在,用一些創意工具激發孩子的程式興趣。
這是 Conrad Wolfram 在 TED talk 上做的一次演講,目的是為了說明創造性教學的潛力有助於激發孩子們的興趣。看起來似乎跟我們講的話題不相關,但是看看這個演講,就會明白為什麼孩子們(包括曾經的我們)會對數學沒有興趣。演講還提出迫切需要把數學學習應用到現實世界和日常生活中。他主張使用程式的方式來教數學,這樣學習起來會更有趣,而不是一味地去強迫孩子們去學習一門學科。
下面就是可以幫助孩子創造性地地學習程式的十個工具:從遊戲到程式工具,從邏輯思維到直觀感受,我們一起來看看這十個程式工具,你會發現程式不僅僅是一些函數和循環。下面就是程式工具的排行榜(僅限於十個程式工具)。

Crunchzilla Code Monster

002
孩子們可以從中學到:Javascript
Crunchzilla Code Monster 是專門為小孩設計的(由 Greg Linden 所設計,他想讓他的孩子學習程式)。它有點像一個簡單的所見即所得(What You See Is What You Get)式的編輯器一樣,一個窗格是程式,另一個窗格是程式生成的效果。上面的 Code Monster 是一個友善的怪物,帶領大家逐課地學習。總共有 59 課,你可以點擊上面的聊天泡泡切換到下一課。課程入門簡單,而且是互動式的,包括對變量和參數的介紹,一些五顏六色的物體像箱子和樹都是用 Javascript 創建的,還能夠提醒錯誤異常並給出解釋。Code Monster 還可以保存你的課程的狀態,你可以隨時停止學習,稍後回來繼續學習。只要你使用的是同一台機子的同一個瀏覽器,就可以接著上次的課程繼續學習。
備受孩子們喜愛的原因:左邊是 Javascript 程式,右邊會創建一些簡單的圖形。孩子們只需要在左邊玩幾下程式,就會在右邊即時地看到各種有趣的圖形效果。——Crunchzilla Code Monster

Logo

Logo
孩子們可以從中學到:使用一些基本的數據類型像字,​​列表和數組創建自定義結構體。
Logo 是最早的教學程式語言之一。它是於 1967 年為教學使用而創建的,可以用於基礎的電腦科學教學。最著名的要數海龜繪圖的實現。從成立之初,它就已經能夠擴展和應用到不同版本的操作系統。例如,Elica 的實現,就推動 Logo 進入到 3D 動畫的領域。The Turtle Academy 就是學習 Logo 程式語言很好的資源,還有很多其他的資源,像 Turtle Logo 和 FMSLogo 等等。
備受孩子們喜愛的原因:可以用行動和定位命令畫出基本的形狀和線狀圖形。——Logo

Scratch

孩子們可以從中學到:無需學習程式語法,就可以進行視覺化互動程式。
從 300 多萬個記錄專案可以看出,Scratch 有一個可以自由發言,有豐富的學習資料的全球化社區。你可以用 Scratch 建立一些互動性的需求,動畫,甚至是遊戲。看看這篇《深入學習 Scratch》就知道孩子們為什麼喜歡它了。
備受孩子們喜愛的原因:無需學習複雜的程式概念,充分發揮想像力,拖曳一些精靈空間就可以了。——Scratch

EToys

etoys
孩子們可以從中學到:以可編纂程式的腳本,理解對程式的概念。
EToys 和 Scratch 非常類似,是一個具有豐富視覺體驗的工具,可以用來創建很酷的電腦程式。創建專案的最終目的是培養創造性和批判性思維。EToys可以作為一個跨平台的獨立的程式單獨運行,也可以作為一個附加元件運行在瀏覽器中。EToys 在全球都是可擴展的,因為它支持多種語言,並且是開源的。有趣的是,它首次用於蘋果開發,就已經被廣泛用於 One Laptop Per Child 專案中了。
備受孩子們喜愛的原因: 2D 和 3D 圖形被文字,圖片和聲音文件所支援,可以結合一些簡單的腳本互動完成。——EToy

WaterBear

waterbear
孩子們可以從中學到:學習可編纂程式的腳本以及編纂程式的流程。
WaterBear 是最近剛出來的一個開發工具,靈感來源於 Scratch。它和 Scratch 也很類似,可以進行物體(腳本區塊)的拖放,理解程式流程。在後台會生成 JavaScript,但是孩子們不必知道具體的語法。不過他們必須開動大腦,通過參數來組裝程式區塊。跟 Scratch有一點不同的是,WaterBear 只能透過瀏覽器來學習,沒有提供可下載的應用。WaterBear 現在還沒有正式發表(只是初期測試版),但是你想找一個可代替 Scratch 的東西,它值得一試。
備受孩子們喜愛的原因:可以在瀏覽器中拖曳腳本區塊,每個腳本塊都有一些簡單的英語標註。——WaterBear

ToonTalk

toontalk
孩子們可以從中學到:程式環境提供了一些包含卡通和動畫角色的有趣元素,完整版大小為 126M,可供免費下載,並能夠在 Windows 和 Mac(虛擬主機)的所有版本上運行。最值得炫耀的是,可以利用 ToonTalk 的動畫世界構建各種各樣的電腦程式。學習程式的過程中,會遇到很多挑戰,你可以充分展現你的創造力,學習解決問題的新辦法,也會從中收穫很多樂趣。
ToonTalk3.0版本現在是免費的。
備受孩子們喜愛的原因:可以玩拼圖遊戲並了解它是怎樣在 ToonTalk上進行構建的。——ToonTalk

Cargo-Bot

孩子們可以從中學到:學習怎麼樣高效解決遇到的難題,開發結構化思維。
科技飛速發展的今天,孩子們可能人手都會抱著一個iPad,而不再是筆記本電腦。Cargo-Bot實際上是一個免費版的iPad,提供了拼圖和邏輯遊戲,是用Codea開發的。你得讓機器人在36個不同的拼圖遊戲中去移動一大堆板塊。Cargo-Bot更多的是注重孩子們的邏輯,而不是純粹的程式。當然你還有可能會學到很多關於結構化思維的東西,儘管這並不是件容易的事兒。如果你想學習 iOS app 開發,在此推薦 Codea app,只要花 9.99$,就可以學到很多知識。
備受孩子們喜愛的原因:通過遊戲的方式來學習程式,這樣孩子們學習起來不會感到枯燥。——Cargo-Bot

Ruby for Kids

rubyforkids
孩子們可以從中學到: Ruby
如果你想讓你的孩子學習一門具體的程式語言,Ruby 是一個不錯的選擇。它是一門針對對象的程式語言,很多的 web 應用程式也是用 Ruby 編寫的,像 Amazon 和 Twitter。Ruby 很簡單,語法比較直觀,很少有命令的調用。它可以免費應用於各種作業系統,還有一個龐大的語言教學和學習社區。那些為孩子們建立的影片教程,遊戲和示例對於孩子和大人們來說都是一個很好的學習資料。
備受孩子們喜愛的原因:教你如何使用Ruby開發網路遊戲。——Ruby for Kids

Raspberry Pi(樹莓派)

raspberry_pi
孩子們可以從中學到:學習老派的電腦程式,但同時也可以理解硬件的工作原理。
對於接觸程式較晚的人來說,Raspberry Pi 就是一個信用卡大小一樣的電腦,可以像桌機一樣用來寫程式。它具有成本低的優點,可以用於學校電腦科學的教學。Raspberry Pi 有很多有趣的用途,每天 Raspberry Pi 社群都會提出一些新穎的創意。Raspberry Pi 平台使用開源硬體和軟體,充分利用和發掘孩子們的一些稀奇古怪的想法。但是目前在學校是如何被使用的呢?Raspberry Pi 基金會網站為我們提供了一些線索。
備受孩子們喜愛的原因:教你如何在一小時內完成程式?——Raspberry Pi

RoboMind

robomind
孩子們可以從中學到:怎麼樣去編寫機器人程式從而掌握機器人學的基礎知識。
RoboMind 是一個程式和教學工具,並擁有自己的腳本語言ROBO。簡潔又易懂的語言不需要任何的先備知識。程式的目標是使虛擬機器人圍繞一個二維網格移動並執行一些簡單的動作。它會教學習者一些通用的原則,可以被應用​​到任何地方,還可以免費下載 Windows、Mac OS X 和 Linux 版本。
備受孩子們喜愛的原因:學習人工智慧的基本知識,以便以後可以應用到現實的機器人中,就像樂高的 MindStorms NXT 機器人套件一樣。——RoboMind
教孩子們學習程式現今已經是寓教於樂的一部分了。當今社會,人們不僅僅是享用應用程式和設備,掌握它們的工作原理也很重要。我們不光要知道如何使用電腦,還要學會程式。所以有很多急需創新的東西都有待於未來去實現。正如 CNN 的這篇文章所說的一樣,電腦課程不僅僅是教孩子們使用今天的軟體,還要教孩子們學會創造明天的軟體。
你同意嗎?

沒有留言:

張貼留言

請留言,謝謝囉!Thank you.