如何为孩子选择编程软件?教育性质与专业编程语言的区别及推荐
广告

大家在给孩子选编程软件之前,需要清楚教育性质的编程语言,像 Logo、Scratch、Etoys、Alice 等,与专业的编程语言,如 vc、Pascal、VB、Java、.net 等,存在哪些不同。
一种程序设计语言具有教育性质,它主要是被设计用来学习的工具,与用于编写真实环境下应用程序的编程语言有很大不同。
许多教育类的程序设计语言都给出了建议的学习次序,也就是学习一组编程语言的次序,每种语言都以其他语言为基础,这样学生就能实现从简单且容易理解的娱乐性编程环境到专业开发环境的转变。如今超人要给大家剖析剖析几款像流星般的编程软件。
▍Logo
Logo 是专门为孩子们设计的入门程序设计语言。学习 Logo 的首要步骤是对“turtle graphics”(龟状图形,其最早可追溯至 1969 年 proto-Lisp 中的“turtle robots”)有所认识。
现代的 Lisp 实现里,存在一个被称作“turtle”的抽象绘图设备,它是专门用来绘制龟状图形的,其目的是吸引孩子们进行编程。
Seymour Papert 是 Logo 语言的发明者,他是构造论的支持者,构造论属于多种构成主义的学习理论。Papert 觉得像写作这类活动,在早期接触计算文化的过程中会自然而然地学会。因此,Logo 设计的初衷不只是要教会孩子们编程以及计算文化中的一些概念,更是要增强孩子们对日益以科技为主导的文化的适应性。
比开始较早进行智力教育更重要的是,这能让孩子们避免在学习中形成长期依赖。这种依赖表现为学习的东西都是由所谓权威的人提出的。这样的小孩既无法给自己准确定位,也会让社会觉得他们在智力上是无助的。
对 3 岁左右的孩子进行实验,然后对他们进行 30 年的跟踪记录。发现大多数孩子都在教育上取得了成功。Logo 实际上是 Lisp 的线性版本。对于高年级学生来说,Logo 可以用来解释计算机以及人工智能中的一些概念。
Brian Harvey 创作了一系列名为“Computer Science Logo Style”的文章,这些文章对借助 Logo 来学习计算机科学的学生很有帮助。Logo 现今在各种平台上得到了广泛应用,并且有免费版和商业版可供使用。
▍Scratch
Scratch是由麻省理工学院的 Dr. Mitchel Resnich 完成的。同时,它也是麻省理工学院的“终身幼儿园(MIT's Lifelong Kindergarten research group)”研究组成员共同完成的。
Scratch 的设计灵感源自于在教小朋友们编程过程中所遭遇的各种困难。它的名称是从 DJ 混录唱片的技术而来的。大概是认为 DJ 混唱片与搭乐高积木以及用 Scratch 编程在某种程度上是很相似的。
Scratch 使编程如同搭积木般简单。在过去,许多教程常常借助方形、圆形等去辅助我们理解那些高深的编程理论,如对象、实例等。然而,这样做往往会让人们越听越糊涂。
现在,Scratch 出现了,这会带来不同。编程从此将变得像搭乐高积木一样简单。Scratch 现在可以提供基于 Windows 的下载,也可以提供 MAC 版的下载,同时 Linux 版正在研发之中。编程界面包含操作符、变量、代码、图片、声音、程序等部分。
编程命令根据动作、感觉等形象来进行分类,并且这些编程命令都能够支持拖拽。成套的逻辑语句通过突出或特殊形状等形式来辅助编程。
“IF...THEN...ELSE...”这个图形块是黄色的,呈“E”状,它里面有一个菱形的洞用于填写条件,在“E”的三横中间能够加上不同的操作。在编程过程里,用户可以添加本地的图片和声音,也可以添加来自 Web 的图片和声音,并且添加的方式都是拖拽。
Scratch 能够把项目文件保存为本地的“.sb 文件格式,并且能够通过一个按钮把它上传到 Scratch 主页上。其他用户凭借此方式可以对该项目进行评论。另外,还可以从 Scratch 网站上下载一个名为“.SB file directly”的 Java applet,利用它可以将 Scratch 项目植入任何一个站点。
Scratch 是软件基础教学领域的一次重大变革。它让那些对编程感到厌烦的人眼前为之一亮。Scratch 能够让编程变得容易上手,并且充满乐趣,同时又不会丧失编写复杂应用程序的能力。
▍Small Basic
微软 Small Basic 是一个入门程序设计语言,它是 Visual Basic 的简化版本。它的目的是把“乐趣”带回到编程中。Small Basic 确实很小,仅仅有 15 个关键字,并且每个关键字都很自然且容易理解。
Small Basic 利用了微软的 Visual Studio IDE 所提供的自动完成功能和上下文相关的帮助。
▍Scheme
Scheme 最初是为了教学目的而在 1975 年设计的语言。当时的 Lisp 采用非递归的控制结构来实施λ演算,主要是因为 Lisp 在硬件实现方面具有高效率。
Guy L.Steele,Jr 与 Gerald Jay Sussman 创造出了 Scheme 这门语言。他们通过运用简洁且高效的 Lisp 过程调用,让 Scheme 成为了最快的解释型语言之一。
从语言教学方面来看,可以用 domain-specific languages(DSL,特定领域语言)这种方式来进行,也可以通过 MetacircularEvaluator(元循环计算)的方式来进行。
此课本改变了 Pascal 在大学程序设计语言中的优势地位。
Abelson 和 Sussman 在 1984 年出版了《Structure and Interpretation of Computer Programs》(SICP)。这本书给上世纪八十年代的计算机课程设计带来了改变。这种改变是彻底性的。
更为重要的是,SICP 打破了语法入门课程的垄断。它不再仅仅围绕某个当前流行的程序设计语言的语法来组织课程,而是将学习计算科学的重点放在了:
函数抽象、数据抽象、流、数据导向编程、消息传递对象的实现、解释器、编译器以及寄存器机器。”
美国以及世界各地的很多大学在短时间内把第一门计算机科学课程改成了 SICP 和 Scheme。SICP 成为了 MIT Press 最为畅销的图书之一。
Scheme 与 SCIP 一起被广泛应用。它不仅仅在印第安纳大学、MIT 和耶鲁大学开设的少数课程中使用,还成为了世界性入门语言的选择。
从那之后,Scheme 社区给低年级课程提供了一些专门定制的教育编程环境。其中包括 PLT Scheme 环境以及 DrScheme 环境,并且还提供了免费的教师培训教材,分别是 How to Design Programs 和 TeachScheme!。
▍newLISP
newLISP的目标是提供一种磁盘占用量小且系统资源使用少的语言。它快速、强大且跨平台,是全功能的脚本版 Lisp 程序设计语言。因其具有简单、一致、线性的特点,所以特别适合初学者。
newLisp 可以带给程序员更多的快乐。
CommonLisp 具有通用性,是一种专业的编程语言。它能够支持多种编程范式,包括过程式、函数式和面向对象的编程。
CommonLisp 是一个动态程序设计语言,它促进了迭代编译向高效运行时程序的快速发展。CommonLisp 与大部分其他程序设计语言存在差异,它采用 S-expressions(S 表达式)来表示代码和数据结构,并且函数和宏调用是通过链表来实现的。
Lisp 的标准化将各种 Lisp 的变体统一起来这件事已经被提上日程,这并非是某一个特定的实现,而是一个语言规范。目前存在着几种 CommonLisp 的标准实现,其中既有商业产品,也有开源软件。
▍AgentSheet
AgentSheet 是一款屡获大奖的工具,可用于游戏和仿真制作。它具有不同的使用难度,既可以简单到让中学生通过制作视频游戏来学习计算机知识,又可以复杂到让 NASA 的科学家用来模拟航天飞机的有效负荷。
AgentSheet 有一个完整课程提供支持,这个课程叫做 Scalable Game Design(可扩展的游戏设计)。它涵盖的游戏范围很广,从简单的类似青蛙的游戏,到复杂的人工智能仿真游戏。
AgentSheet 能够支持游戏,包括动画、交互、声音以及语音合成/识别(仅适用于 Mac)。AgentSheet 还可以支持科学应用程序,像绘图、输出到电子表格以及 3D 绘图(仅适用于 Mac)。并且 AgentSheet 有英语、希腊语和日语这几种版本。
Lego Mindstorms 以 AgentSheets 作为基础。它开发了 LegoSheets 程序设计语言。该语言比 Brick Logo 的学习曲线平缓很多。
▍Alice
Alice 是一款免费的编程软件。它的目的是教会孩子们进行事件驱动的面向对象编程。编程者能够使用现代的集成开发环境(IDE),通过拖拽的方式来创建交互式的故事程序。
Alice 的目标群体是大多数处于中学阶段且有计算机使用经验的女生,这样的设计可谓是寓教于乐。另外,有一个名为 Story Telling Alice 的 Alice 的变体,它能够提供更为强大的讲故事能力。
▍Baltie
Baltie 是一种图形化编程工具,它适合儿童以及青少年(包括成人)。在该软件中,Baltie 是一个主要角色,是一个巫师,能够执行各种命令,还可以将出现在他视野范围内的图片变魔术。
孩子们在 Baltie 的帮助下,能够迅速认识到计算机是什么,以及如何对计算机进行操作和编程,这些都是在玩耍的过程中达成的。Baltie 还能够助力逻辑思维训练,并且对孩子们的知识要求不高,只需要会玩以及具备想象力就可以。
Baltie 已在许多国家的小学中被采用。新版的 Baltie 4 完全支持 C#。更多信息可在 SGP Systems 中找到。
▍Guido van Robot
Guido van Robot 是一个机器人控制程序。它有点像 Logo 以及 Karel J. Robot。并且它使用了 Python 语法里的一小部分。
Guido van Robot 被设计成尽量对任何高级语言进行简化且使其通用。有一个名为 RUR-PLE 的变体,其中包含了完整的 Python 语法以及一些经典的课程。
▍Karel,Karel++,和Karel J.Robot
Karel 是为完全的初学者准备的。它用于在由长方形街道网格组成的城市中控制一个简单机器人。Karel 是一种自主的程序设计语言。Karel++是 Karel 的 C++实现。Karel J.Robot 是 Karel 的 Java 实现。
▍Learn to Program BASIC
Learn to Program BASIC 是一个 Basic 解释程序,它通过互动课程教会中学生 Basic。在 Basic 语言中加入了一些游戏,其中包括对 2D sprite 的支持。在 LTPB 中编写的程序能够脱离 LTPB 而独立执行,它是一个可以自由分发的“runner”。
▍Phrogram
Phrogram 是 2006 年引入的一种程序设计语言和集成开发环境。它是第二代的 KPL,也就是 MS Kid's Programming Language。这种语言具有商业性质且易于学习。它强调图形和声音,所以特别容易开发游戏以及寓教于乐的程序。
它还能够帮助初学者为这些或者其他的专业开发环境做好准备。
▍RoboMind
RoboMind 是一个具有教育性质的编程环境且较为简单,它可以让初学者接触到机器人编程。RoboMind 向人们介绍了流行的编程技术,同时也涵盖了一些机器人学和人工智能的知识。人们具备使用阿拉伯语、中文、荷兰语、英语和瑞典语对机器人进行编程的能力。
▍StagecastCreators
StagecastCreators 是以示范编程为基础的可视化编程系统。用户能够通过在屏幕上移动图标,为物体(角色)设定规则,以此来操控整个系统。用户可以创建 2D 模型,用于模拟一个概念,或者创建多层次的游戏,以及交互的故事等。
▍Etoys
Etoys 的创意来源于计算机屏幕上那些可以编程的实体。Etoys 提供了一个脚本对象模型,这个模型简单且高效。它还提供了一个创作环境,这个环境用户媒体丰富。该创作环境涵盖了 2D 和 3D 图形、图片、文本、粒子、演示文档、网页、视频、声音以及 MIDI 音乐。它能够与其他 Etoys 用户实时共享桌面,并且可以通过互联网进行身临其境的指导。
Etoys 具备多语言的特性。它在美国、欧洲、南美、日本、韩国、尼泊尔等地都取得了成功。并且这个项目的受众是 9 至 12 岁的儿童。
▍Squeak
Squeak 是一种现代的程序设计语言和执行环境,它是开源的且功能齐全。Smalltalk 是一种面向对象的程序设计语言,具有动态类型和反射特性,用于支持“人机共栖”这一“新的世界”的计算典范。
它有影像式持久性,如同 Lisp 一样。因此,凭借语言自身就能够对任何事物进行修改,这可参见 Smalltalk#反射。
Smalltalk 给行业在面向对象编程以及 JIT 及时编译等方面带来了深远影响。Squeak 是在广泛的开发项目中被使用的工具,这些项目涵盖了多媒体应用、教育平台以及商业网络应用程序等。
Squeak 被设计成具有高度的可移植性。它在调试方面、分析方面以及维护方面也都是如此。这是因为 Squeak 的虚拟机是完全用 Smalltalk 编写的。Squeak 的主页维护着一份免费的教程列表。Stéphane Ducasse 维持着大量与 Smalltalk 和 Squeak 相关的在线书籍。
现如今使用最为广泛的语言是 Objective-C,它采纳了许多 Smalltalk 的设想。
大家看看搜到的一张表格,这张表格是现在比较流行的少儿编程软件,并且有详细解释。
年龄
经验水平
合适的编程语言
学龄前–二年级
无/不适用
Logo style: Logo, Guido
van Robot 是 Karel。Scratch 是 Baltie 2,Stagecast Creator 也是。
二年级–四年级
无/不适用
Logo 以及 Scratch、Etoys、Stagecast Creator
五年级–八年级
很少或没有经验
五年级–八年级
有一些经验
Squeak 是一种语言,它具有丰富的功能。BASIC 也是一种语言。Greenfoot 是一个相关的工具。Pascal 同样是一种编程语言。
高中
很少或没有经验
Squeak 是一种编程语言,Greenfoot 是一个编程环境,Pascal 是一种编程语言,它们都具备较为全面的功能,类似于 BASIC 语言。
高中
有一些经验
Squeak 以及 Greenfoot 或者 BlueJ,还有 newLISP、OZ。大多数其他的编程语言。
大学
不是主要专业,假定没有经验
Squeak 以及 Greenfoot 或者 BlueJ,还有 newLISP 以及功能完备的 BASIC
大学
开始计算机科学或程序设计课程
NetBeans BlueJ 是一个开发工具。
广告()
关于立创商城
立创商城是中国在线订单成交量最大的一站式电子元器件采购自营商城。它自建了 6000 多平方米的现代化元器件仓库。其现货库存超过 40000 种。深圳嘉立创集团旗下有一家电子元器件垂直商城,该商城品种齐全、自营库存且质量有保障。其电子全产业链自营服务涵盖在线 EDA(EasyEDA)、行业领先的 PCB 打样/中小批量、元器件商城、钢网制造、SMT 贴片以及电子设计教育及方案。立创商城的所有元器件都是由原厂或代理商通过正规渠道采购的,能保证原装正品,可为您提供专业的一站式电子元器件采购服务。