限时干货下载:单片机电子书与Proteus仿真资料百度盘分享,更新于2016-04-8
限时下载干货:回复“教程”就能获取单片机电子书,回复“仿真”便可获取 Proteus 仿真资料。百度盘群组分享链接的更新时间是 2016 年 4 月 8 日。若链接失效,可在文末留言,不要在后台留言。若未找到文件,可私聊所加入百度群组的群主。不知为何,有时共享的文件会被百度取消。

大家在给孩子选编程软件之前,需要清楚教育性质的编程语言,像 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 的创作。
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 在硬件实现上具有高效率,且当时的 LISPs 使用非递归的控制结构来实施λ演算。
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 与大部分其他程序设计语言有所不同,它通过使用 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 J.Robot 是 Karel 的 Java 实现,同样是为完全的初学者准备的,可在相应城市环境中控制简单机器人。
▍Learn to Program BASIC
Learn to Program BASIC 是一个 Basic 解释程序,它通过互动课程来教会中学生 Basic。在 Basic 语言中,它加入了一些游戏,其中包括对 2D sprite 的支持。在 LTPB 中编写的程序能够脱离 LTPB 而独立执行,它是一个可以自由分发的“runner”。
▍Phrogram
这使得它特别适合开发游戏以及寓教于乐的程序
Phrogram 是一种被简化的结构化语言,它具备基于组件进行开发的特性,其中包含类和方法。Phrogram 能够在现代的集成开发环境(IDE)中进行建模,像 Eclipse 和 Visual Studio.NET 这样的环境。并且,它还可以帮助初学者为这些以及其他的专业开发环境做好准备。
▍RoboMind
RoboMind 是一个具有教育性质的编程环境,较为简单。它能够让初学者接触到机器人编程。RoboMind 介绍了一些流行的编程技术,同时也包含了一些机器人学和人工智能的知识。人们可以使用阿拉伯语、中文、荷兰语、英语和瑞典语来对机器人进行编程。
▍StagecastCreators
StagecastCreators 是以示范编程为基础的可视化编程系统。用户通过在屏幕上移动图标,为物体(角色)制定规则,以此来操控整个系统。用户能够创造 2D 模型,以模拟一个概念,或者创造多层次的游戏,以及交互的故事等。
▍Etoys
Etoys 的创意源自计算机屏幕上那些可编程的实体。Etoys 提供了一个脚本对象模型,这个模型简单且高效。它还提供了一个创作环境,用户在其中可以使用丰富的媒体,涵盖了 2D 和 3D 图形、图片、文本、粒子、演示文档、网页、视频、声音以及 MIDI 音乐。并且,它能够让其他 Etoys 用户实时共享桌面,还可以通过互联网进行身临其境的指导。
Etoys 具备多语言的特性。它在美国取得了成功,在欧洲取得了成功,在南美取得了成功,在日本取得了成功,在韩国取得了成功,在尼泊尔取得了成功。这个项目的受众是 9 至 12 岁的儿童。
▍Squeak
这种语言用来支持“人机共栖”这个“新的世界”的计算典范。
它有像 Lisp 那样的影像式持久性。因此,凭借语言自身,能够对任何事物进行修改(可参考 Smalltalk#反射)。
Smalltalk 给行业在面向对象编程以及 JIT 及时编译等方面带来了深远影响。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。
大学
开始计算机科学或程序设计课程
Haskell 是一种编程语言。OZ 也是一种编程语言。Scheme 同样是一种编程语言。Qi 属于编程语言范畴。Squeak 是一种编程语言。NetBeans BlueJ 也是一种编程语言。
可以回复“教程”来获取单片机电子书,也可以回复“仿真”来获取 Proteus 仿真资料。
请提供需要改写的句子呀,你没有给出具体的内容呢。
分享到朋友圈的操作是:点击右上角的“...”三个点,接着在弹出的菜单中选择“分享到朋友圈”。单片机订阅号的微信名是:单片机。
每天会更新关于单片机的各种知识,会有电子制作 DIY 方面的内容,还会有电子行业的最新资讯。关注我们吧,会让你感觉很棒哦!