適合教孩子編碼的 7 款免費編程語言

453731797 7年前發布 | 20K 次閱讀 軟件開發

計算機編程是一項 需求旺盛且欣欣向榮的事業 , 所以這些日子父母們可能都希望他們的孩子長大后成為一名軟件程序員。如果你先教你的小孩如何編程,該從哪兒開始呢? 可以嘗試一下此列表中這些對兒童友好的編程語言以及工具。

1. Scratch

Scratch 是由 MIT 的終生幼兒園實驗室( Lifelong Kindergarten Lab )開發的一個免費的兒童編程語言。該免費語言由入門教程、給父母們看的課程說明以及一個強大的用戶社區組成。設置提供可以在沒有計算機在身邊的時候供你學習 Scratch 編程概念的 卡片

Scratch 利用了一個構建塊形式的可視界面來給孩子們(以及他們的父母)創建一個更加系統的體驗。你可以將諸如動作、事件以及操作這樣的程序組件堆到一起。

每一個快都有一種形狀,只允許其同與它的形狀適合的對象結合在一起。 例如 " Repeat loops",是一個像“U”的側面的形狀,你一看到就會知道需要把塊放到一個循環的開始和停止之間。

Scratch 可以拿來利用預先填充的圖像以及字符或者是上傳新的,來制作出真正的動畫和游戲。Scratch 無需互聯網連接就能為我們所用。孩子們可以選擇將他們的作品共享到 Scratch 的在線社區。

因為 Scratch 是免費的且得到了不錯的支持,所以它就是我們推薦的適合孩子編程方案的不二之選, 而且清單中其它對孩子友好的編程語言里,我們也很容易能看到 Scratch 的影子, 比如 Blockly。

建議年齡: 8-16

需求: 一臺運行著 Mac, Windows, 或者 Linux 系統的計算機。

2. Blockly

Blockly 是 Google 對 Scratch 使用相同的互鎖構建塊的重構,但它可以輸出集中不同編程語言的代碼。目前,這包括 JavasScript、Python、PHP、Lua 和 Dart。這使得 Blockly 更像一個可視化的編輯器,而不僅僅是一個兒童友好的編程語言。

事實上,在將塊鏈接到一起之后,你可以在屏幕側邊看到代碼,并且可以即時切換編程語言,以查看同一基本程序的語言語法差異。這使得 Blockly 成為理想的適用于多年齡段的學習的代碼,包括年齡較大的孩子和成年人,他們可能不太欣賞年輕的歪曲的貓和卡通化的Scratch。

這聽起來像是從 Scratch 的一個驚人的過渡,事實上,谷歌正在與 MIT 合作開發基于 Blockly 平臺的下一代 Scratch。

Blockly 也用作 Android App Inventor 的支柱,可用于開發 Android 應用程序。 MIT 已經接管了以前是 Google 的項目。

不幸的是,Blockly 并沒有像 Scratch 那樣完全開發 - 現在還沒有那么多可用的教程。 因此,我們增加了推薦的年齡或建議增加家長的支持。然而,Blockly 作為一個適合所有年齡段的健壯的編程環境前途遠大。

建議年齡: 10+

要求:可運行 Windows, Mac OS 或者 Linux 的電腦              

3. Alice

Alice 是一個自由的 3D 編程工具,被設計用來教授面向對象編程語言的概念,比如 C++。它使用熟悉且容易獲得的建筑積木讓孩子通過編程控制攝像機運動,3D 模型,和場景來創建游戲或動畫。

拖拽型的交互界面和簡單的播放按鈕比起草稿型的雜亂界面對某些孩子來說可以減少困惑。在 Alice中程序或“方法”能被轉換傳入 Java IDE 比如 NetBeans ,因此學編程的學生能夠從可視化的積木界面過渡到標準的編程語言。

Alice 是卡內基梅隆大學開發的,你必須去系統設置-安全和隱私-允許應用下載從:任何地方。(一旦安裝完成你就可以改回你的安全設置)

建議年齡:10 歲以上

要求:運行 Mac,Windows,Linux 的電腦

4. Swift Playgrounds

Swift 是一種用于構建 iOS 應用程序的編程語言。Swift Playgrounds 是一款 iPad 游戲,旨在教孩子如何在 Swift 中編程。 該游戲可從蘋果免費下載的,不需要任何先前的編碼知識。

該應用程序包含了許多關于 Swift 不同命令的教程,舉個例子,在 3D 世界中移動一個名為 Byte 的字符。雖然并不需要什么編程知識,但孩子們需要知道如何閱讀教程,并有一些解決問題的毅力。拖放代碼可以消除打字錯誤,但 Swift Playgrounds 沒有使用聯鎖塊界面。

一旦你的孩子精通 Swift Playgrounds,他們就可以開始用 Swift 開發了 。

建議年齡: 10+

要求: iPad               

5. Twine

對于那些對創建游戲和講故事更感興趣的,而不太喜歡編程技術細節的孩子,嘗試下 Twine。

Twine 是一個免費的非線性敘事性應用程序,被所有年齡段的用戶使用,包括大量的成年人和教育家。使用 Twine,你不需要學習任何代碼。它的目的不是教用戶如何編碼,而是教他們如何組織、呈現非線性的游戲和故事。

Twine 的故事包括頁面文本和圖像,如網站類似。設計界面中顯示了連接的頁面,每個頁面都可以使用文本、鏈接和圖像進行修改。它特別適合“選擇自己的冒險”類型的游戲,在其中每個玩家的選擇都可以觸發一個新的故事分支。

雖然這個應用程序不會教孩子編碼,但它教了很多規劃和設計技能,這些對游戲設計師和故事講述者至關重要。該應用程序通過 wiki、教程和活躍的用戶社區而取得了很好的支持。

你可以通過托管應用在線創建 Twine 故事,也可以下載用于離線編輯的應用。

建議年齡: 12+ (大量讀者推薦)

要求:Windows、Mac OS 或者 Linux              

6. LEGO Mindstorm Robotics (樂高頭腦風暴機器人)

另一種學習編程的方法是模仿機器人。許多孩子積極嘗試現實世界中編程性事物。這里有各種各樣的機器人套件和語言,你可以使用它們來編程,而 LEGO Mindstorms 系統是擁有最大的用戶社區之一,是兒童友好的可視化編程應用程序。你可以免費下載編程環境,但是你還需要獲得 LEGO Mindstorms 工具包才能使程序運行。這并不意味著你必須購買一個。一些學校和公共圖書館有提供給學生使用的套件,或者您可能想在你附近找到一個 First LEGO League (第一樂高聯盟)。

LEGO EV3 編程軟件可以在平板電腦和計算機上運行,它使用了一個構件塊(一個樂高積木)的比喻,就像 Scratch 和 Blockly 一樣,雖然 LEGO 版本更傾向于水平地構建程序,看起來更像一個流程圖。學生門組合不同的動作、變量和事件來操縱他們的 LEGO Mindstorms 創作。編程語言對于年輕的孩子來說是很簡單的,然而對年齡較大的孩子甚至成年人也算是一個挑戰(我們曾經在一個面向程序員的技術會議上發現了一個 Google 贊助的 LEGO 編程活動。)

除了 LEGO Mindstorms 編程環境之外,LEGO 還使用一個開源的 Linux 內核,可以通過更傳統的編程語言(如 Python 或 C++)對其進行修改和編程。

技術要求:EV3編程語言在Mac、Windows、Android和iOS上均可運行。

運行程序(而不是僅僅調試它們)可控制一個或多個樂高 EV3 機器人。(對于更復雜的程序,最多可以使用菊花鏈連接六臺機器人。)

建議年齡:10+ (年齡越小的孩子需要越多指導)

要求:一臺可運行 Windows 或者 Mac OS 的臺式機或者運行 Android、iOS 的平板電腦。             

7. Kodu

Kodu 是微軟為 Xbox 360 設計的游戲編程應用程序。對應的 Windows 版本是免費的,但 Xbox 360 版本需要 4.99 美元。孩子們可以使用該應用程序在 3D 世界中探索和設計游戲。

Kodu 的圖形界面很有吸引力,Xbox 版本的編程可以完全在游戲控制器完成。如果你有硬件支持它,Kodu 是一個更舊但仍然可靠的選擇。

不幸的是,沒有 Xbox One 版本的 Kodu,未來的發展看起來不太一樣。 然而,Xbox 和 Windows版本是完全開發的,這就是為什么它是這個列表上唯一的“被遺棄”的兒童編程語言。

建議年齡: 8-14

要求:Windows 7 及其以下版本或者 Xbox 360

其他的建議

對于大一點的孩子,你可能想直接教他們學習標準的編程語言,如 Python,Java 或 Ruby。沒有哪種兒童編程語言是必須學習的。Khan Academy 和 Codecademy 這兩個網站都提供了適合入門的、免費的在線教程。初中和高中的學生可能會有目的地嘗試 Minecraft 模組。Minecraft 社區比較活躍,提供了許多教程,也有主題營或者虛擬課程以供選擇。此外, Unity 3D 游戲界面是進入 3D 游戲編程的一種不錯的方式,它提供了許多在線的資源。記住,編程從來就不容易,它涉及許多故障排除、試驗和錯誤。堅持不懈的品質、決心是父母能提供給處于成長初期的孩子們的最好工具。

 

來自:https://www.oschina.net/translate/kids-programming-languages

 

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