適合教孩子編碼的七款免費編程語言
計算機(jī)編程是一項 需求旺盛且欣欣向榮的事業(yè) , 所以這些日子父母們可能都希望他們的孩子長大后成為一名軟件程序員。如果你先教你的小孩如何編程,該從哪兒開始呢? 可以嘗試一下此列表中這些對兒童友好的編程語言以及工具。
1. Scratch
Scratch 是由 MIT 的終生幼兒園實驗室( Lifelong Kindergarten Lab )開發(fā)的一個免費的兒童編程語言。該免費語言由入門教程、給父母們看的課程說明以及一個強(qiáng)大的用戶社區(qū)組成。設(shè)置提供可以在沒有計算機(jī)在身邊的時候供你學(xué)習(xí) Scratch 編程概念的 卡片 。
Scratch 利用了一個構(gòu)建塊形式的可視界面來給孩子們(以及他們的父母)創(chuàng)建一個更加系統(tǒng)的體驗。你可以將諸如動作、事件以及操作這樣的程序組件堆到一起。
每一個快都有一種形狀,只允許其同與它的形狀適合的對象結(jié)合在一起。 例如 " Repeat loops",是一個像“U”的側(cè)面的形狀,你一看到就會知道需要把塊放到一個循環(huán)的開始和停止之間。
Scratch 可以拿來利用預(yù)先填充的圖像以及字符或者是上傳新的,來制作出真正的動畫和游戲。Scratch 無需互聯(lián)網(wǎng)連接就能為我們所用。孩子們可以選擇將他們的作品共享到 Scratch 的在線社區(qū)。
因為 Scratch 是免費的且得到了不錯的支持,所以它就是我們推薦的適合孩子編程方案的不二之選, 而且清單中其它對孩子友好的編程語言里,我們也很容易能看到 Scratch 的影子, 比如 Blockly。
建議年齡: 8-16
需求: 一臺運行著 Mac, Windows, 或者 Linux 系統(tǒng)的計算機(jī)。
2. Blockly
Blockly 是 Google 對 Scratch 使用相同的互鎖構(gòu)建塊的重構(gòu),但它可以輸出集中不同編程語言的代碼。目前,這包括 JavasScript、Python、PHP、Lua 和 Dart。這使得 Blockly 更像一個可視化的編輯器,而不僅僅是一個兒童友好的編程語言。
事實上,在將塊鏈接到一起之后,你可以在屏幕側(cè)邊看到代碼,并且可以即時切換編程語言,以查看同一基本程序的語言語法差異。這使得 Blockly 成為理想的適用于多年齡段的學(xué)習(xí)的代碼,包括年齡較大的孩子和成年人,他們可能不太欣賞年輕的歪曲的貓和卡通化的Scratch。
這聽起來像是從 Scratch 的一個驚人的過渡,事實上,谷歌正在與 MIT 合作開發(fā)基于 Blockly 平臺的下一代 Scratch。
Blockly 也用作 Android App Inventor 的支柱,可用于開發(fā) Android 應(yīng)用程序。 MIT 已經(jīng)接管了以前是 Google 的項目。
不幸的是,Blockly 并沒有像 Scratch 那樣完全開發(fā) - 現(xiàn)在還沒有那么多可用的教程。 因此,我們增加了推薦的年齡或建議增加家長的支持。然而,Blockly 作為一個適合所有年齡段的健壯的編程環(huán)境前途遠(yuǎn)大。
建議年齡: 10+
要求:可運行 Windows, Mac OS 或者 Linux 的電腦
3. Alice
Alice 是一個自由的 3D 編程工具,被設(shè)計用來教授面向?qū)ο缶幊陶Z言的概念,比如 C++。它使用熟悉且容易獲得的建筑積木讓孩子通過編程控制攝像機(jī)運動,3D 模型,和場景來創(chuàng)建游戲或動畫。
拖拽型的交互界面和簡單的播放按鈕比起草稿型的雜亂界面對某些孩子來說可以減少困惑。在 Alice中程序或“方法”能被轉(zhuǎn)換傳入 Java IDE 比如 NetBeans ,因此學(xué)編程的學(xué)生能夠從可視化的積木界面過渡到標(biāo)準(zhǔn)的編程語言。
Alice 是卡內(nèi)基梅隆大學(xué)開發(fā)的,你必須去系統(tǒng)設(shè)置-安全和隱私-允許應(yīng)用下載從:任何地方。(一旦安裝完成你就可以改回你的安全設(shè)置)
建議年齡:10 歲以上
要求:運行 Mac,Windows,Linux 的電腦
4. Swift Playgrounds
Swift 是一種用于構(gòu)建 iOS 應(yīng)用程序的編程語言。Swift Playgrounds 是一款 iPad 游戲,旨在教孩子如何在 Swift 中編程。 該游戲可從蘋果免費下載的,不需要任何先前的編碼知識。
該應(yīng)用程序包含了許多關(guān)于 Swift 不同命令的教程,舉個例子,在 3D 世界中移動一個名為 Byte 的字符。雖然并不需要什么編程知識,但孩子們需要知道如何閱讀教程,并有一些解決問題的毅力。拖放代碼可以消除打字錯誤,但 Swift Playgrounds 沒有使用聯(lián)鎖塊界面。
一旦你的孩子精通 Swift Playgrounds,他們就可以開始用 Swift 開發(fā)了 。
建議年齡: 10+
要求: iPad
5. Twine
對于那些對創(chuàng)建游戲和講故事更感興趣的,而不太喜歡編程技術(shù)細(xì)節(jié)的孩子,嘗試下 Twine。
Twine 是一個免費的非線性敘事性應(yīng)用程序,被所有年齡段的用戶使用,包括大量的成年人和教育家。使用 Twine,你不需要學(xué)習(xí)任何代碼。它的目的不是教用戶如何編碼,而是教他們?nèi)绾谓M織、呈現(xiàn)非線性的游戲和故事。
Twine 的故事包括頁面文本和圖像,如網(wǎng)站類似。設(shè)計界面中顯示了連接的頁面,每個頁面都可以使用文本、鏈接和圖像進(jìn)行修改。它特別適合“選擇自己的冒險”類型的游戲,在其中每個玩家的選擇都可以觸發(fā)一個新的故事分支。
雖然這個應(yīng)用程序不會教孩子編碼,但它教了很多規(guī)劃和設(shè)計技能,這些對游戲設(shè)計師和故事講述者至關(guān)重要。該應(yīng)用程序通過 wiki、教程和活躍的用戶社區(qū)而取得了很好的支持。
你可以通過托管應(yīng)用在線創(chuàng)建 Twine 故事,也可以下載用于離線編輯的應(yīng)用。
建議年齡: 12+ (大量讀者推薦)
要求:Windows、Mac OS 或者 Linux
6. LEGO Mindstorm Robotics (樂高頭腦風(fēng)暴機(jī)器人)
另一種學(xué)習(xí)編程的方法是模仿機(jī)器人。許多孩子積極嘗試現(xiàn)實世界中編程性事物。這里有各種各樣的機(jī)器人套件和語言,你可以使用它們來編程,而 LEGO Mindstorms 系統(tǒng)是擁有***的用戶社區(qū)之一,是兒童友好的可視化編程應(yīng)用程序。你可以免費下載編程環(huán)境,但是你還需要獲得 LEGO Mindstorms 工具包才能使程序運行。這并不意味著你必須購買一個。一些學(xué)校和公共圖書館有提供給學(xué)生使用的套件,或者您可能想在你附近找到一個 First LEGO League (***樂高聯(lián)盟)。
LEGO EV3 編程軟件可以在平板電腦和計算機(jī)上運行,它使用了一個構(gòu)件塊(一個樂高積木)的比喻,就像 Scratch 和 Blockly 一樣,雖然 LEGO 版本更傾向于水平地構(gòu)建程序,看起來更像一個流程圖。學(xué)生門組合不同的動作、變量和事件來操縱他們的 LEGO Mindstorms 創(chuàng)作。編程語言對于年輕的孩子來說是很簡單的,然而對年齡較大的孩子甚至成年人也算是一個挑戰(zhàn)(我們曾經(jīng)在一個面向程序員的技術(shù)會議上發(fā)現(xiàn)了一個 Google 贊助的 LEGO 編程活動。)
除了 LEGO Mindstorms 編程環(huán)境之外,LEGO 還使用一個開源的 Linux 內(nèi)核,可以通過更傳統(tǒng)的編程語言(如 Python 或 C++)對其進(jìn)行修改和編程。
技術(shù)要求:EV3編程語言在Mac、Windows、Android和iOS上均可運行。
運行程序(而不是僅僅調(diào)試它們)可控制一個或多個樂高 EV3 機(jī)器人。(對于更復(fù)雜的程序,最多可以使用菊花鏈連接六臺機(jī)器人。)
建議年齡:10+ (年齡越小的孩子需要越多指導(dǎo))
要求:一臺可運行 Windows 或者 Mac OS 的臺式機(jī)或者運行 Android、iOS 的平板電腦。
7. Kodu
Kodu 是微軟為 Xbox 360 設(shè)計的游戲編程應(yīng)用程序。對應(yīng)的 Windows 版本是免費的,但 Xbox 360 版本需要 4.99 美元。孩子們可以使用該應(yīng)用程序在 3D 世界中探索和設(shè)計游戲。
Kodu 的圖形界面很有吸引力,Xbox 版本的編程可以完全在游戲控制器完成。如果你有硬件支持它,Kodu 是一個更舊但仍然可靠的選擇。
不幸的是,沒有 Xbox One 版本的 Kodu,未來的發(fā)展看起來不太一樣。 然而,Xbox 和 Windows版本是完全開發(fā)的,這就是為什么它是這個列表上唯一的“被遺棄”的兒童編程語言。
建議年齡: 8-14
要求:Windows 7 及其以下版本或者 Xbox 360
其他的建議
對于大一點的孩子,你可能想直接教他們學(xué)習(xí)標(biāo)準(zhǔn)的編程語言,如 Python,Java 或 Ruby。沒有哪種兒童編程語言是必須學(xué)習(xí)的。Khan Academy 和 Codecademy 這兩個網(wǎng)站都提供了適合入門的、免費的在線教程。初中和高中的學(xué)生可能會有目的地嘗試 Minecraft 模組。Minecraft 社區(qū)比較活躍,提供了許多教程,也有主題營或者虛擬課程以供選擇。此外, Unity 3D 游戲界面是進(jìn)入 3D 游戲編程的一種不錯的方式,它提供了許多在線的資源。記住,編程從來就不容易,它涉及許多故障排除、試驗和錯誤。堅持不懈的品質(zhì)、決心是父母能提供給處于成長初期的孩子們的***工具。