青少兒編程軟件介紹及匯總,值得收藏!

網友投稿 2020-02-29 19:07

大家在給孩子選編程軟件之前,一定要知道教育性質的編程語言如Logo、Scratch、Etoys、Alice等和專業的編程語言如vc、Pascal、VB、Java、.net等有什么不同.

一個教育性質的程序設計語言,是一種主要設計于用來學習的工具,是與用于編寫真實環境下的應用程序編程語言不大相同的一種編程語言。

許多教育性質的程序設計語言都提供建議的學習順序,即是學習一組編程語言的順序,每種語言都建立在其他語言的基礎上,使得學生能夠完成從簡單又易于理解的娛樂性編程環境到專業開發環境的轉變。今天超人來給大家分析分析幾款流星的編程軟件。

▍Logo

Logo是特別為孩子們設計的入門程序設計語言。學習Logo的第一步是認識“turtle graphics”(龜狀圖形,最早可以追溯到1969年,proto-Lisp中的“turtle robots”)。

https://cdn.china-scratch.com/timg/200302/1ZK0FZ-0.jpg

在現代的Lisp實現中,有一個叫“turtle”的抽象繪圖設備,專門用來繪制龜狀圖形,是為了吸引孩子們進行編程。

Seymour Papert,Logo語言的發明者,是構造論的支持者,構造論是多種構成主義的學習理論。Papert認為像寫作之類的活動,會在早期接受計算文化過程中自然而然的學會。所以Logo設計的初衷不僅僅是為了教會孩子們編程和計算文化中的一些概念,而是為了增強孩子們對日益以科技為主導的文化的適應。

https://cdn.china-scratch.com/timg/200302/1ZK03L5-1.jpg

“比開始較早進行智力教育更為重要的是,這能夠使孩子們避免學習中形成的長期依賴,即學習的東西都是由所謂權威的人提出的…而這樣的小孩無法給自己準確的定位,或者讓社會覺得他們是在智力上是無助的”。

通過在3歲左右的孩子進行實驗,對他們30年的跟蹤記錄發現,大多數都取得了教育上的成功。Logo實際上是一個Lisp的線性版本,對于高年級的學生而言,Logo能夠用來解釋計算機甚至是人工智能中的一些概念。

Brian Harvey寫過一系列的文章“Computer Science Logo Style”,對那些通過Logo學習計算機科學的學生而言是很有幫助的。Logo目前已廣泛應用于各種平臺,同時提供了免費版和商業版。

▍?Scratch

?Scratch由麻省理工學院的 Dr. Mitchel Resnich 和他的“終身幼兒園(MIT's Lifelong Kindergarten research group)”研究組成員共同完成。

https://cdn.china-scratch.com/timg/200302/1ZK15459-2.jpg

Scratch 的設計靈感來源于教小朋友們編程時遇到的種種困難。它的名稱來源?于DJ 混錄唱片的技術。(#大概是覺得DJ混唱片、搭樂高積木,用Scratch編程某種程度很相似。)

Scratch:讓編程變得像搭積木一樣。過去,很多教程里總是喜歡拿方形、圓形等來幫助我們理解高深的對象、實例等等編程理論。但總是越說越讓人糊涂。

https://cdn.china-scratch.com/timg/200302/1ZK12F2-3.jpg

現在,Scratch出現了,一切都將不同!編程從此將會和搭樂高積木一樣簡單!Scratch現已提供基于Windows以及MAC版的下載,Linux版的也正在研發當中。編程界面分為操作符、變量、代碼、圖片、聲音、程序等部分。

編程命令按照動作、感覺等形象的進行分類,并且這些編程命令均可支持拖拽。成套的邏輯語句利用突出或特殊形狀等形式來輔助編程。

例如:"IF...THEN...ELSE..."是一個黃色的呈“E”狀的圖形塊,其中有一個菱形的洞供填寫條件,在“E”的三橫中間可以加上不同的操作。編程過程中,用戶可以添加來自本地或者Web的圖片和聲音,當然,添加的方式一樣是拖拽。

https://cdn.china-scratch.com/timg/200302/1ZK13426-4.jpg

Scratch 可將項目文件存為本地的“.sb文件格式,并通過一個按鈕將其上傳到Scratch主頁上。其它用戶借此可對該項目進行評論。此外,也可從Scratch網站上下載一個叫做“.SB file directly”的 Java applet,借其可將Scratch項目植入任一站點。

Scratch 是軟件基礎教學的一次革命。讓那些厭煩編程的人眼前一亮。Scratch使編程容易上手、充滿樂趣,但卻不失編寫復雜應用程序的能力。

▍Small Basic

微軟Small Basic作為一個入門程序設計語言,是Visual Basic的簡化版本。“旨在把‘樂趣’帶回到編程中”。Small Basic實在是小,只有15個關鍵字,并且每個都自然好懂。

https://cdn.china-scratch.com/timg/200302/1ZK2D05-5.jpg

Small Basic提供特別的對象函數庫,包括使人普遍感興趣和孩子們感興趣的東西(例如Flickr)。孩子們能夠在線或在本地創建有趣的交互程序。Small Basic利用了微軟的Visual Studio IDE提供的自動完成和上下文相關的幫助。

▍Scheme

Scheme最初是在1975年出于教學目的而設計的語言(參加[9] LISPs of the day used non-recursivecontrol structures to implement lambda calculus以非遞歸的控制結構實施λ演算),這主要是因為Lisp仍然在硬件實現具有高效率。

https://cdn.china-scratch.com/timg/200302/1ZK21416-6.jpg

Guy L.Steele,Jr和Gerald Jay Sussman創造出了Scheme,通過使用簡潔高效的Lisp過程調用,使得Scheme成為最快的解釋型語言之一。

從語言教學上來講,可以通過以domain-specific languages(DSL,特定領域語言)和MetacircularEvaluator(元循環計算)的方式來進行。

1984年出版的《Structure and Interpretation of Computer Programs》(《計算機程序的構造和解釋》)將這種教育理念納入了經典的教學課本中,從而改變了Pascal在大學程序設計語言中的優勢地位。

https://cdn.china-scratch.com/timg/200302/1ZK24M5-7.jpg

“Abelson和Sussman在1984年出版的《Structure and Interpretation of Computer Programs》(SICP),給上世紀八十年代的計算機課程設計帶來了徹底性的改變。

更為重要的是,SICP打破了語法入門課程的壟斷,不再是將課程的組織僅僅圍繞某個當前流行的程序設計語言的語法,而是將學習計算科學的重點放在了:

functional abstraction(函數抽象), data abstraction(數據抽象), streams(流), data-directed programming(數據導向編程), implementation of message-passingobjects(消息傳遞對象的實現), interpreters(解釋器), compilers(編譯器), and register machines(寄存器機器)。”

短時間內,美國以及世界各地的很多大學把第一門計算機科學課程改成了SICP和Scheme。而SICP也成了MIT Press最為暢銷的圖書之一。

和SCIP一起,Scheme也廣泛應用,不僅僅是印第安納大學,MIT,耶魯大學的開設的少數課程,而是成為世界性入門語言的選擇。

自那以后,Scheme社區為低年級課程提供了一些定制的教育編程環境。其中有PLT Scheme和DrScheme環境,還提供了免費的教師培訓教材:How to Design Programs 和TeachScheme!。

▍newLISP

newLISP旨在提供一個磁盤占用和系統資源使用少的,快速的,強大的,跨平臺的,全功能腳本版的Lisp程序設計語言。因為它的簡單,一致,線性的特點,特別適合于初學者。

https://cdn.china-scratch.com/timg/200302/1ZK32V9-8.jpg

newLisp能夠最大限度的減少學習的曲線并且帶給程序員更多的創造性和快樂。

CommonLisp 是通用的(專業的),多泛型程序設計語言。它支持過程式、函數式和面向對象的編程范式。

作為一個動態程序設計語言,CommonLisp促進了迭代編譯向高效運行時程序的快速發展。CommonLisp和大部分其他程序設計語言不同,它使用S-expressions(S表達式)來表示代碼和數據結構,而函數和宏調用是用鏈表實現的。

通過Lisp的標準化統一各種Lisp的變體已經提上了日程,這不是一個特定的實現而是一個語言規范。現在有幾種CommonLisp的標準實現,包括商業產品和開源軟件?。

▍AgentSheet

AgentSheet是屢獲大獎的游戲和仿真制作工具,它可以簡單到讓中學生通過制作視頻游戲來學習計算機知識,也可以復雜到讓NASA的科學家來模擬航天飛機的有效負荷。

https://cdn.china-scratch.com/timg/200302/1ZK32156-9.jpg

AgentSheet是由一個叫做Scalable Game Design(可擴展的游戲設計)的完整課程提供支持的,它從簡單的像青蛙一樣(Frogger-like)的游戲一直到復雜的人工智能仿真游戲。

AgentSheet支持游戲(動畫,交互,聲音,語音合成/識別(Mac)),科學應用程序(繪圖,輸出到電子表格,3D繪圖(Mac))。AgentSheet有英語,希臘語和日語版本。

Lego Mindstorms以AgentSheets為基礎,開發了LegoSheets程序設計語言,比Brick Logo的學習曲線要平緩的多。

▍Alice

Alice是一個免費的編程軟件,旨在教會孩子們事件驅動的面向對象編程。編程者可以使用現代IDE,以拖拽的方式創建交互式的故事程序。

https://cdn.china-scratch.com/timg/200302/1ZK4D57-10.jpg

Alice目標群體是大多數中學階段的有計算機使用經驗的女生,可謂寓教于樂。還有一個叫Story Telling Alice的Alice的變體,能夠提供更強的講故事能力。

▍Baltie

Baltie是圖形化的編程工具,適合兒童,青少年(成人)。Baltie是軟件中一個主要的角色,一個巫師,用來執行各種命令、將出現在他視野的圖片變魔術。

https://cdn.china-scratch.com/timg/200302/1ZK45918-11.jpg

通過Baltie的幫助,孩子們能夠很快認識到什么是計算機,如何對計算機進行操作和編程,這些都是在玩的過程中實現的。Baltie同樣能夠幫助邏輯思維訓練,而且對孩子們的知識并沒有多少要求,只要求會玩和想象力。

Baltie已經在許多國家的小學中采用了。新版本的Baltie 4甚至完全支持C#,更多的信息可以在SGP Systems中找到。

▍Guido van Robot

Guido van Robot是一個機器人控制程序,有點類似于Logo和Karel J. Robot,使用了Python語法中的很少一部分。

https://cdn.china-scratch.com/timg/200302/1ZK41440-12.jpg

Guido van Robot被設計成對任何高級語言都盡量簡化和通用。還有一個叫RUR-PLE的變體,它包括了完整的Python語法和一些經典的課程。

▍Karel,Karel++,和Karel J.Robot

Karel,Karel++,和Karel J.Robot是為那些完全的初學者而準備的。用來在一個由長方形街道網格組成的城市中控制一個簡單機器人。Karel是一個自主的程序設計語言,而Karel++是Karel的C++實現,Karel J. Robot則是Karel的Java實現。

https://cdn.china-scratch.com/timg/200302/1ZK5F06-13.jpg

▍Learn to Program BASIC

Learn to Program BASIC是一個通過互動課程教會中學生Basic的Basic解釋程序,在Basic語言中加入了一些的游戲,包括對2D sprite支持。在LTPB中編寫的程序能夠脫離LTPB獨立執行,即是一個可以自由分發的“runner”。

https://cdn.china-scratch.com/timg/200302/1ZK5L34-14.jpg

▍Phrogram

Phrogram(第二代的KPL,MS Kid's Programming Language)是2006年引入的一個商業的、易于學習的程序設計語言和集成開發環境。它強調圖形和聲音,使得它特別容易開發游戲,寓教于樂的程序。

https://cdn.china-scratch.com/timg/200302/1ZK645a-15.jpg

Phrogram是簡化的結構化語言,提供了基于組件開發的特性,例如類和方法。Phrogram在現代IDE中進行建模,例如Eclipse 和Visual Studio. NET,并可以幫助初學者為這些或者其他的專業開發環境做好準備。

▍RoboMind

RoboMind是一個簡單的教育性質的編程環境,能讓初學者對機器人編程。RoboMind介紹了流行的編程技術、一些機器人學和人工智能的知識。人們能夠使用阿拉伯語、中文、荷蘭語、英語和瑞典語對機器人進行編程。

https://cdn.china-scratch.com/timg/200302/1ZKBO0-16.jpg

▍StagecastCreators

StagecastCreators是基于示范編程的可視化編程系統。用戶通過移動屏幕上的圖標,為物體(角色)制定規則來操作整個系統。用戶可以創造2D模型來模擬一個概念,多層次的游戲,交互的故事等。

https://cdn.china-scratch.com/timg/200302/1ZKA3L-17.jpg

▍Etoys

Etoys的創意來源計算機屏幕上那些可編程的實體。Etoys提供一個簡單高效的腳本對象模型,和一個用戶媒體豐富的創作環境,涵蓋了2D和3D圖形,圖片,文本,粒子,演示文檔,網頁,視頻,聲音和MIDI音樂,能夠與其他Etoys用戶實時共享桌面,通過互聯網進行身臨其境的指導。

https://cdn.china-scratch.com/timg/200302/1ZKH194-18.jpg

Etoys是多語言的,已經在美國,歐洲,南美,日本,韓國,尼泊爾等地取得了成功。這個項目是針對9至12歲的兒童的。

▍Squeak

Squeak是一個現代的,開源的,功能齊全的Smalltalk程序設計語言和執行環境。Smalltalk是一個面向對象,擁有動態類型和反射特性的程序設計語言,用來支持“人機共棲”這個“新的世界”的計算典范。

https://cdn.china-scratch.com/timg/200302/1ZKG444-19.jpg

像Lisp一樣,它有影像式持久性(image-based persistence),所以通過語言本身能對所以任何事物進行修改(參見Smalltalk#反射)。

Smalltalk在面向對象編程和JIT及時編譯等方面給行業帶來了深遠的影響。Squeak是在廣泛開發項目中使用的工具,包括多媒體應用,教育平臺和商業網絡應用程序等。

Squeak被設計為高度可移植的,調試,分析和維護亦是如此,這是因為Squeak的虛擬機完全用Smalltalk編寫的,Squeak的主頁維護著免費的教程列表,Stéphane Ducasse則維持著大量Smalltalk和Squeak相關的在線書籍。

現如今使用最廣泛的,采納了許多Smalltalk的設想的語言是Objective-C。

大家再看看搜到的一張表格,是現在比較流行的少兒編程軟件,有詳細解釋:

年齡

經驗水平

合適的編程語言

學齡前–二年級

無/不適用

Logo style: Logo, Guido?

van Robot, Karel. Scratch, Baltie 2,?Stagecast Creator

二年級–四年級

無/不適用

Logo, Scratch, Etoys, Stagecast Creator

五年級–八年級

很少或沒有經驗

Lego Mindstorm, Etoys, AgentSheets, Alice, Baltie 3, learning oriented BASIC, Phrogram, Stagecast Creator,smallBASIC

五年級–八年級

有一些經驗

Squeak, full featured BASIC, Greenfoot, Pascal

高中

很少或沒有經驗

Squeak, Greenfoot, Pascal, full featured BASIC

高中

有一些經驗

Squeak, Greenfoot?或?BlueJ, newLISP, OZ. Most other programming languages.

大學

不是主要專業,假定沒有經驗

Squeak, Greenfoot?或?BlueJ, newLISP, full featured BASIC

大學

開始計算機科學或程序設計課程

Haskell, OZ, Scheme, Qi, Squeak, NetBeans BlueJ

后記,小編朋友公司研發了一個游戲化的少兒編程在線課程(5-12歲),游戲化教學結合scratch(一款在線少兒編程工具,類似樂高的積木拼搭),我家娃娃學了幾次課,非常喜歡(超預期),16次課才200多塊錢,對鍛煉孩子的思維能力和動手動力很有幫助。

感興趣的朋友可以掃描二維碼,關注一下,或微信搜索“大耳猴少兒編程”

http://www.bhucgxcz.icu/Uploads/Editor/2018-04-22/5adca08bdc212.jpg

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除:freemanzk@qq.com