大家在給孩子選編程軟件之前,一定要知道教育性質(zhì)的編程語(yǔ)言如Logo、Scratch、Etoys、Alice等和專(zhuān)業(yè)的編程語(yǔ)言如vc、Pascal、VB、Java、.net等有什么不同.
一個(gè)教育性質(zhì)的程序設計語(yǔ)言,是一種主要設計于用來(lái)學(xué)習的工具,是與用于編寫(xiě)真實(shí)環(huán)境下的應用程序編程語(yǔ)言不大相同的一種編程語(yǔ)言.。
許多教育性質(zhì)的程序設計語(yǔ)言都提供建議的學(xué)習順序,即是學(xué)習一組編程語(yǔ)言的順序,每種語(yǔ)言都建立在其他語(yǔ)言的基礎上,使得學(xué)生能夠完成從簡(jiǎn)單又易于理解的娛樂(lè )性編程環(huán)境到專(zhuān)業(yè)開(kāi)發(fā)環(huán)境的轉變。今天超人來(lái)給大家分析分析幾款流星的編程軟件。
▍Logo
Logo是特別為孩子們設計的入門(mén)程序設計語(yǔ)言。學(xué)習Logo的第一步是認識“turtle graphics”(龜狀圖形,最早可以追溯到1969年,proto-Lisp中的“turtle robots”)。
在現代的Lisp實(shí)現中,有一個(gè)叫“turtle”的抽象繪圖設備,專(zhuān)門(mén)用來(lái)繪制龜狀圖形,是為了吸引孩子們進(jìn)行編程。
Seymour Papert,Logo語(yǔ)言的發(fā)明者,是構造論的支持者,構造論是多種構成主義的學(xué)習理論。Papert認為像寫(xiě)作之類(lèi)的活動(dòng),會(huì )在早期接受計算文化過(guò)程中自然而然的學(xué)會(huì )。所以L(fǎng)ogo設計的初衷不僅僅是為了教會(huì )孩子們編程和計算文化中的一些概念,而是為了增強孩子們對日益以科技為主導的文化的適應。
“比開(kāi)始較早進(jìn)行智力教育更為重要的是,這能夠使孩子們避免學(xué)習中形成的長(cháng)期依賴(lài),即學(xué)習的東西都是由所謂權威的人提出的…而這樣的小孩無(wú)法給自己準確的定位,或者讓社會(huì )覺(jué)得他們是在智力上是無(wú)助的”。
通過(guò)在3歲左右的孩子進(jìn)行實(shí)驗,對他們30年的跟蹤記錄發(fā)現,大多數都取得了教育上的成功。Logo實(shí)際上是一個(gè)Lisp的線(xiàn)性版本,對于高年級的學(xué)生而言,Logo能夠用來(lái)解釋計算機甚至是人工智能中的一些概念。
Brian Harvey寫(xiě)過(guò)一系列的文章“Computer Science Logo Style”,對那些通過(guò)Logo學(xué)習計算機科學(xué)的學(xué)生而言是很有幫助的。Logo目前已廣泛應用于各種平臺,同時(shí)提供了免費版和商業(yè)版。
▍
Scratch 的設計靈感來(lái)源于教小朋友們編程時(shí)遇到的種種困難。它的名稱(chēng)來(lái)源 于DJ 混錄唱片的技術(shù)。(#大概是覺(jué)得DJ混唱片、搭樂(lè )高積木,用Scratch編程某種程度很相似。)
Scratch:讓編程變得像搭積木一樣。過(guò)去,很多教程里總是喜歡拿方形、圓形等來(lái)幫助我們理解高深的對象、實(shí)例等等編程理論。但總是越說(shuō)越讓人糊涂。
現在,Scratch出現了,一切都將不同!編程從此將會(huì )和搭樂(lè )高積木一樣簡(jiǎn)單!Scratch現已提供基于Windows以及MAC版的下載,Linux版的也正在研發(fā)當中。編程界面分為操作符、變量、代碼、圖片、聲音、程序等部分。
編程命令按照動(dòng)作、感覺(jué)等形象的進(jìn)行分類(lèi),并且這些編程命令均可支持拖拽。成套的邏輯語(yǔ)句利用突出或特殊形狀等形式來(lái)輔助編程。
例如:'IF...THEN...ELSE...'是一個(gè)黃色的呈“E”狀的圖形塊,其中有一個(gè)菱形的洞供填寫(xiě)條件,在“E”的三橫中間可以加上不同的操作。編程過(guò)程中,用戶(hù)可以添加來(lái)自本地或者Web的圖片和聲音,當然,添加的方式一樣是拖拽。

Scratch 可將項目文件存為本地的“.sb文件格式,并通過(guò)一個(gè)按鈕將其上傳到Scratch主頁(yè)上。其它用戶(hù)借此可對該項目進(jìn)行評論。此外,也可從Scratch網(wǎng)站上下載一個(gè)叫做“.SB file directly”的 Java applet,借其可將Scratch項目植入任一站點(diǎn)。
Scratch 是軟件基礎教學(xué)的一次革命。讓那些厭煩編程的人眼前一亮。Scratch使編程容易上手、充滿(mǎn)樂(lè )趣,但卻不失編寫(xiě)復雜應用程序的能力。
▍Small Basic
微軟Small Basic作為一個(gè)入門(mén)程序設計語(yǔ)言,是Visual Basic的簡(jiǎn)化版本?!爸荚诎选畼?lè )趣’帶回到編程中”。Small Basic實(shí)在是小,只有15個(gè)關(guān)鍵字,并且每個(gè)都自然好懂。

Small Basic提供特別的對象函數庫,包括使人普遍感興趣和孩子們感興趣的東西(例如Flickr)。孩子們能夠在線(xiàn)或在本地創(chuàng )建有趣的交互程序。Small Basic利用了微軟的Visual Studio IDE提供的自動(dòng)完成和上下文相關(guān)的幫助。
▍Scheme
Scheme最初是在1975年出于教學(xué)目的而設計的語(yǔ)言(參加[9] LISPs of the day used non-recursivecontrol structures to implement lambda calculus以非遞歸的控制結構實(shí)施λ演算),這主要是因為L(cháng)isp仍然在硬件實(shí)現具有高效率。

Guy L.Steele,Jr和Gerald Jay Sussman創(chuàng )造出了Scheme,通過(guò)使用簡(jiǎn)潔高效的Lisp過(guò)程調用,使得Scheme成為最快的解釋型語(yǔ)言之一。
從語(yǔ)言教學(xué)上來(lái)講,可以通過(guò)以domain-specific languages(DSL,特定領(lǐng)域語(yǔ)言)和MetacircularEvaluator(元循環(huán)計算)的方式來(lái)進(jìn)行。
1984年出版的《Structure and Interpretation of Computer Programs》(《計算機程序的構造和解釋》)將這種教育理念納入了經(jīng)典的教學(xué)課本中,從而改變了Pascal在大學(xué)程序設計語(yǔ)言中的優(yōu)勢地位。

“Abelson和Sussman在1984年出版的《Structure and Interpretation of Computer Programs》(SICP),給上世紀八十年代的計算機課程設計帶來(lái)了徹底性的改變。
更為重要的是,SICP打破了語(yǔ)法入門(mén)課程的壟斷,不再是將課程的組織僅僅圍繞某個(gè)當前流行的程序設計語(yǔ)言的語(yǔ)法,而是將學(xué)習計算科學(xué)的重點(diǎn)放在了:
functional abstraction(函數抽象), data abstraction(數據抽象), streams(流), data-directed programming(數據導向編程), implementation of message-passingobjects(消息傳遞對象的實(shí)現), interpreters(解釋器), compilers(編譯器), and register machines(寄存器機器)?!?/span>
短時(shí)間內,美國以及世界各地的很多大學(xué)把第一門(mén)計算機科學(xué)課程改成了SICP和Scheme。而SICP也成了MIT Press最為暢銷(xiāo)的圖書(shū)之一。
和SCIP一起,Scheme也廣泛應用,不僅僅是印第安納大學(xué),MIT,耶魯大學(xué)的開(kāi)設的少數課程,而是成為世界性入門(mén)語(yǔ)言的選擇。
自那以后,Scheme社區為低年級課程提供了一些定制的教育編程環(huán)境。其中有PLT Scheme和DrScheme環(huán)境,還提供了免費的教師培訓教材:How to Design Programs 和TeachScheme!。
▍newLISP
newLISP旨在提供一個(gè)磁盤(pán)占用和系統資源使用少的,快速的,強大的,跨平臺的,全功能腳本版的Lisp程序設計語(yǔ)言。因為它的簡(jiǎn)單,一致,線(xiàn)性的特點(diǎn),特別適合于初學(xué)者。

newLisp能夠最大限度的減少學(xué)習的曲線(xiàn)并且帶給程序員更多的創(chuàng )造性和快樂(lè )。
CommonLisp 是通用的(專(zhuān)業(yè)的),多泛型程序設計語(yǔ)言。它支持過(guò)程式、函數式和面向對象的編程范式。
作為一個(gè)動(dòng)態(tài)程序設計語(yǔ)言,CommonLisp促進(jìn)了迭代編譯向高效運行時(shí)程序的快速發(fā)展。CommonLisp和大部分其他程序設計語(yǔ)言不同,它使用S-expressions(S表達式)來(lái)表示代碼和數據結構,而函數和宏調用是用鏈表實(shí)現的。
通過(guò)Lisp的標準化統一各種Lisp的變體已經(jīng)提上了日程,這不是一個(gè)特定的實(shí)現而是一個(gè)語(yǔ)言規范?,F在有幾種CommonLisp的標準實(shí)現,包括商業(yè)產(chǎn)品和開(kāi)源軟件 。
▍AgentSheet
AgentSheet是屢獲大獎的游戲和仿真制作工具,它可以簡(jiǎn)單到讓中學(xué)生通過(guò)制作視頻游戲來(lái)學(xué)習計算機知識,也可以復雜到讓NASA的科學(xué)家來(lái)模擬航天飛機的有效負荷。

AgentSheet是由一個(gè)叫做Scalable Game Design(可擴展的游戲設計)的完整課程提供支持的,它從簡(jiǎn)單的像青蛙一樣(Frogger-like)的游戲一直到復雜的人工智能仿真游戲。
AgentSheet支持游戲(動(dòng)畫(huà),交互,聲音,語(yǔ)音合成/識別(Mac)),科學(xué)應用程序(繪圖,輸出到電子表格,3D繪圖(Mac))。AgentSheet有英語(yǔ),希臘語(yǔ)和日語(yǔ)版本。
Lego Mindstorms以AgentSheets為基礎,開(kāi)發(fā)了LegoSheets程序設計語(yǔ)言,比Brick Logo的學(xué)習曲線(xiàn)要平緩的多。
▍Alice
Alice是一個(gè)免費的編程軟件,旨在教會(huì )孩子們事件驅動(dòng)的面向對象編程。編程者可以使用現代IDE,以拖拽的方式創(chuàng )建交互式的故事程序。

Alice目標群體是大多數中學(xué)階段的有計算機使用經(jīng)驗的女生,可謂寓教于樂(lè )。還有一個(gè)叫Story Telling Alice的Alice的變體,能夠提供更強的講故事能力。
▍Baltie
Baltie是圖形化的編程工具,適合兒童,青少年(成人)。Baltie是軟件中一個(gè)主要的角色,一個(gè)巫師,用來(lái)執行各種命令、將出現在他視野的圖片變魔術(shù)。

通過(guò)Baltie的幫助,孩子們能夠很快認識到什么是計算機,如何對計算機進(jìn)行操作和編程,這些都是在玩的過(guò)程中實(shí)現的。Baltie同樣能夠幫助邏輯思維訓練,而且對孩子們的知識并沒(méi)有多少要求,只要求會(huì )玩和想象力。
Baltie已經(jīng)在許多國家的小學(xué)中采用了。新版本的Baltie 4甚至完全支持C#,更多的信息可以在SGP Systems中找到。
▍Guido van Robot
Guido van Robot是一個(gè)機器人控制程序,有點(diǎn)類(lèi)似于Logo和Karel J. Robot,使用了Python語(yǔ)法中的很少一部分。

Guido van Robot被設計成對任何高級語(yǔ)言都盡量簡(jiǎn)化和通用。還有一個(gè)叫RUR-PLE的變體,它包括了完整的Python語(yǔ)法和一些經(jīng)典的課程。
▍Karel,Karel++,和Karel J.Robot
Karel,Karel++,和Karel J.Robot是為那些完全的初學(xué)者而準備的。用來(lái)在一個(gè)由長(cháng)方形街道網(wǎng)格組成的城市中控制一個(gè)簡(jiǎn)單機器人。Karel是一個(gè)自主的程序設計語(yǔ)言,而Karel++是Karel的C++實(shí)現,Karel J. Robot則是Karel的Java實(shí)現。

▍Learn to Program BASIC
Learn to Program BASIC是一個(gè)通過(guò)互動(dòng)課程教會(huì )中學(xué)生Basic的Basic解釋程序,在Basic語(yǔ)言中加入了一些的游戲,包括對2D sprite支持。在LTPB中編寫(xiě)的程序能夠脫離LTPB獨立執行,即是一個(gè)可以自由分發(fā)的“runner”。

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

Phrogram是簡(jiǎn)化的結構化語(yǔ)言,提供了基于組件開(kāi)發(fā)的特性,例如類(lèi)和方法。Phrogram在現代IDE中進(jìn)行建模,例如Eclipse 和Visual Studio. NET,并可以幫助初學(xué)者為這些或者其他的專(zhuān)業(yè)開(kāi)發(fā)環(huán)境做好準備。
▍RoboMind
RoboMind是一個(gè)簡(jiǎn)單的教育性質(zhì)的編程環(huán)境,能讓初學(xué)者對機器人編程。RoboMind介紹了流行的編程技術(shù)、一些機器人學(xué)和人工智能的知識。人們能夠使用阿拉伯語(yǔ)、中文、荷蘭語(yǔ)、英語(yǔ)和瑞典語(yǔ)對機器人進(jìn)行編程。

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

▍Etoys
Etoys的創(chuàng )意來(lái)源計算機屏幕上那些可編程的實(shí)體。Etoys提供一個(gè)簡(jiǎn)單高效的腳本對象模型,和一個(gè)用戶(hù)媒體豐富的創(chuàng )作環(huán)境,涵蓋了2D和3D圖形,圖片,文本,粒子,演示文檔,網(wǎng)頁(yè),視頻,聲音和MIDI音樂(lè ),能夠與其他Etoys用戶(hù)實(shí)時(shí)共享桌面,通過(guò)互聯(lián)網(wǎng)進(jìn)行身臨其境的指導。

Etoys是多語(yǔ)言的,已經(jīng)在美國,歐洲,南美,日本,韓國,尼泊爾等地取得了成功。這個(gè)項目是針對9至12歲的兒童的。
▍Squeak
Squeak是一個(gè)現代的,開(kāi)源的,功能齊全的Smalltalk程序設計語(yǔ)言和執行環(huán)境。Smalltalk是一個(gè)面向對象,擁有動(dòng)態(tài)類(lèi)型和反射特性的程序設計語(yǔ)言,用來(lái)支持“人機共棲”這個(gè)“新的世界”的計算典范。

像Lisp一樣,它有影像式持久性(image-based persistence),所以通過(guò)語(yǔ)言本身能對所以任何事物進(jìn)行修改(參見(jiàn)Smalltalk#反射)。
Smalltalk在面向對象編程和JIT及時(shí)編譯等方面給行業(yè)帶來(lái)了深遠的影響。Squeak是在廣泛開(kāi)發(fā)項目中使用的工具,包括多媒體應用,教育平臺和商業(yè)網(wǎng)絡(luò )應用程序等。
Squeak被設計為高度可移植的,調試,分析和維護亦是如此,這是因為Squeak的虛擬機完全用Smalltalk編寫(xiě)的,Squeak的主頁(yè)維護著(zhù)免費的教程列表,Stéphane Ducasse則維持著(zhù)大量Smalltalk和Squeak相關(guān)的在線(xiàn)書(shū)籍。
現如今使用最廣泛的,采納了許多Smalltalk的設想的語(yǔ)言是Objective-C。
大家再看看搜到的一張表格,是現在比較流行的少兒編程軟件,有詳細解釋?zhuān)?/span>
年齡 | 經(jīng)驗水平 | 合適的編程語(yǔ)言 |
學(xué)齡前–二年級 | 無(wú)/不適用 | Logo style: Logo, Guido van Robot, Karel. Scratch, Baltie 2, Stagecast Creator |
二年級–四年級 | 無(wú)/不適用 | Logo, Scratch, Etoys, Stagecast Creator |
五年級–八年級 | 很少或沒(méi)有經(jīng)驗 | Lego Mindstorm, Etoys, AgentSheets, Alice, Baltie 3, learning oriented BASIC, Phrogram, Stagecast Creator,smallBASIC |
五年級–八年級 | 有一些經(jīng)驗 | Squeak, full featured BASIC, Greenfoot, Pascal |
高中 | 很少或沒(méi)有經(jīng)驗 | Squeak, Greenfoot, Pascal, full featured BASIC |
高中 | 有一些經(jīng)驗 | Squeak, Greenfoot 或 BlueJ, newLISP, OZ. Most other programming languages. |
大學(xué) | 不是主要專(zhuān)業(yè),假定沒(méi)有經(jīng)驗 | Squeak, Greenfoot 或 BlueJ, newLISP, full featured BASIC |
大學(xué) | 開(kāi)始計算機科學(xué)或程序設計課程 | Haskell, OZ, Scheme, Qi, Squeak, NetBeans BlueJ |
你可能感興趣
▍8部近年來(lái)在英美最受歡迎的兒童教育電視節目,有觀(guān)看資源哦!
▍7個(gè)實(shí)用的國外家庭學(xué)校課程網(wǎng)站,資料免費下載,幼兒園到高中都有!

聯(lián)系客服