教育程序设计语言

上传人:飞*** 文档编号:32452291 上传时间:2018-02-11 格式:DOC 页数:18 大小:246KB
返回 下载 相关 举报
教育程序设计语言_第1页
第1页 / 共18页
教育程序设计语言_第2页
第2页 / 共18页
教育程序设计语言_第3页
第3页 / 共18页
教育程序设计语言_第4页
第4页 / 共18页
教育程序设计语言_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《教育程序设计语言》由会员分享,可在线阅读,更多相关《教育程序设计语言(18页珍藏版)》请在金锄头文库上搜索。

1、教育程序设计语言目录1 学习顺序 1.1 Smalltalk/Squeak based1.2 基于 Java1.3 基于 Lisp1.4 BASIC2 适合孩子3 适合大学4 年龄与经验对语言的选择5 参见6 外部链接7 参考文献Learning Paths一个教育性质的程序设计语言,是一种主要设计于用来学习的工具,与用于编写真实环境下的应用程序编程语言不大相同的一种编程语言.学习顺序许多教育性质的程序设计语言都把自己提供建议的学习顺序上,即是学习一组编程语言的顺序,每种语言都建立在其他语言的基础上,使得学生能够完成从简单又易于理解的娱乐性编程环境到专业开发环境的转变。下面是一些著名的程序设计

2、语言。基于 SmalltalkSqueak作为“OLPC(One Laptop per Child,每个孩子都有一台电脑)”项目的一部分,Smalltalk 提出一个建议的语言学习顺序,其中的每种语言都被设计成下一种的入门和基础。这个顺序是:Scrath-Etoys-Squeak-任意 Smalltalk。在学习的过程中,每一种语言都提供了图形化的编程环境,不仅是用于教会孩子们一些编程的概念,而且是包含物理和数学知识的模拟及讲述故事的一些练习。Smalltakl 和 Squeak 作为全功能的应用程序开发语言,在过去的数十年中已经变得十分有名了,而 Scratch 是孩子们学习的工具。Scra

3、tch 是一种基于 Squeak、并由 Squeak 实现的可视化程序设计语言。通过让孩子们创建游戏,视频和音乐,达到教会孩子们一些编程概念的目的。在 Scratch 中,所有的互动物体,图形和声音都能够很轻松的导入到新的程序,通过新的方式将其组合,通过这种方法,初学者能够很快的看到结果,并且有兴趣深入学习下去。在 Scratch 社区中,已经开发和上传了超过 100,000 个工程项目。Scratch 是由 MIT 多媒体实验室开发的。Etoys 的创意来源计算机屏幕上那些可编程的实体。Etoys 提供一个简单高效的脚本对象模型,和一个用户媒体丰富的创作环境,涵盖了 2D 和 3D 图形,图

4、片,文本,粒子,演示文档,网页,视频,声音和 MIDI 音乐,能够与其他 Etoys 用户实时共享桌面,通过互联网进行身临其境的指导。Etoys 是多语言的,已经在美国,欧洲,南美,日本,韩国,尼泊尔等地取得了成功。这个项目是针对 9 至 12 岁的儿童的。Squeak 是一个现代的,开源的,功能齐全的 Smalltalk 程序设计语言和执行环境。Smalltalk 是一个面向对象,拥有动态类型和反射特性的程序设计语言,用来支持“人机共栖”这个“新的世界”的计算典范。像 Lisp 一样,它有影像式持久性(image-based persistence),所以通过语言本身能对所以任何事物进行修改

5、(参见 Smalltalk反射)。Smalltalk 在面向对象编程和 JIT 及时编译等方面给行业带来了深远的影响。Squeak 是在广泛开发项目中使用的工具,包括多媒体应用,教育平台和商业网络应用程序等。Squeak被设计为高度可移植的,调试,分析和维护亦是如此,这是因为 Squeak 的虚拟机完全用Smalltalk 编写的,Squeak 的主页维护着免费的教程列表,Stphane Ducasse 则维持着大量 Smalltalk 和 Squeak 相关的在线书籍。现如今使用最广泛的,采纳了许多 Smalltalk 的设想的语言是 Objective-C。基于 JavaSun 公司推荐的

6、学习顺序是:Greenfoot-BlueJ-Netbeans/BlueJ-Netbeans/Java。Greenfoot 是一个交互式 Java 开发环境,主要目的是用于教育。它可以很容易的开发2D 图形应用程序,例如一些模拟和互动游戏。主要是针对于高中和大学早期阶段的编程学习(Java 的面向对象编程)。BlueJ 是一个完整的 Java 环境,是特别为课程导入教学,一年级的大学生设计的。BlueJ 消除了一些复杂的 Java 语法,难以理解的输入输出(I/O),并且可视化的表示出了类/对象之间的关系。BlueJ 编程环境是关于教授初学者面向对象概念的大学研究项目(The Blue Syst

7、em)的一部分。BlueJ 目的是为一年级的大学生提供一个易于使用、便于教学的 Java 环境,特别强调了可视化与互动技术,旨在创造出一个高度互动的环境,鼓励试验和探索。NetBeans/BlueJ 是一个集成开发环境,旨在帮助学生从 BlueJ 的 IDE 过渡到更专业的NetBeans IDE。Sun 提供了针对高中教学和使用 Java/BlueJ 免费课程。 NetBeans/Java 是一个专业的开发平台。NetBeans 既是一个网络应用程序开发平台,同时也是使用 NetBeans 平台的 IDE(集成开发环境)。NetBeans Platform 是能够简化桌面应用程序开发的可复用

8、性框架,提供了开发桌面应用程序所需的共通服务,使得开发者能够把重点放在实现应用程序的业务逻辑上。NetBeans IDE 是完全使用 Java 编写,基于NetBeans Platform 的集成开发环境。NetBeans IDE 与众不同的支持所有类型的 Java 应用程序开发(Java SE,Web,EJB 和移动应用程序)。其他的特性还包括使用基于 Ant 的工程系统,版本控制和重构。基于 LispLisp 是现如今使用的计算机语言家族中第二古老的语言,因此拥有大量的方言以及广泛的实现。Lisp 最初是作为计算机程序的实用数学记法而创立的,基于 演算,这使得它特别适合于理论计算的教学。作

9、为最早的程序设计语言之一,Lisp 开创了许多计算机科学概念的先河,包括树形数据结构、自动存储管理、动态类型、面向对象编程、自足执行的编译器(self-hosting compiler)。这些概念对于学习计算机科学而言是十分有帮助的。LISP 语言的名字来源于“LIST Processing language(列表处理语言)”。 链表是Lisp 中最主要的数据结构之一,Lisp 本身代码就是由链表构成的。因此,Lisp 程序能够将源代码当作某种数据结构来进行操作,这就允许程序员创建新的语法,甚至是能够把新的特定领域的语言嵌入到 Lisp。所以 Lisp 对于学习语言的设计,创建自定义语言是相当

10、有用的。合理的学习顺序是:Logo-Scheme/newLisp(教育版变体)-Common Lisp(职业版变体)Logo 是特别为孩子们设计的入门程序设计语言。学习 Logo 的第一步是认识“turtle graphics”(龟状图形,最早可以追溯到 1969 年,proto-Lisp 中的“turtle robots”)。在现代的 Lisp 实现中,有一个叫“turtle”的抽象绘图设备,专门用来绘制龟状图形,是为了吸引孩子们进行编程。Seymour Papert,Logo 语言的发明者,是构造论的支持者,构造论是多种构成主义的学习理论。Papert 认为像写作之类的活动,会在早期接受计

11、算文化过程中自然而然的学会。所以 Logo 设计的初衷不仅仅是为了教会孩子们编程和计算文化中的一些概念,而是为了增强孩子们对日益以科技为主导的文化的适应。“比开始较早进行智力教育更为重要的是,这能够使孩子们避免学习中形成的长期依赖,即学习的东西都是由所谓权威的人提出的而这样的小孩无法给自己准确的定位,或者让社会觉得他们是在智力上是无助的”。通过在 3 岁左右的孩子进行实验,对他们 30 年的跟踪记录发现,大多数都取得了教育上的成功。Logo 实际上是一个 Lisp 的线性版本,对于高年级的学生而言,Logo 能够用来解释计算机甚至是人工智能中的一些概念。Brian Harvey 写过一系列的文

12、章“Computer Science Logo Style”,对那些通过 Logo 学习计算机科学的学生而言是很有帮助的。Logo 目前已广泛应用于各种平台,同时提供了免费版和商业版。Scheme 最初是在 1975 年出于教学目的而设计的语言(参加9 LISPs of the day used non-recursivecontrol structures to implement lambda calculus 以非递归的控制结构实施 演算),这主要是因为 Lisp 仍然在硬件实现具有高效率。Guy L.Steele,Jr和 Gerald Jay Sussman 创造出了 Scheme,通

13、过使用简洁高效的 Lisp 过程调用,使得Scheme 成为最快的解释型语言之一。从语言教学上来讲,可以通过以 domain-specific languages(DSL,特定领域语言)和 MetacircularEvaluator(元循环计算)的方式来进行。1984 年出版的Structure and Interpretation of Computer Programs(计算机程序的构造和解释)将这种教育理念纳入了经典的教学课本中,从而改变了 Pascal 在大学程序设计语言中的优势地位。“Abelson 和 Sussman 在 1984 年出版的Structure and Interpr

14、etation of Computer Programs(SICP),给上世纪八十年代的计算机课程设计带来了彻底性的改变。更为重要的是,SICP 打破了语法入门课程的垄断,不再是将课程的组织仅仅围绕某个当前流行的程序设计语言的语法,而是将学习计算科学的重点放在了:functional abstraction(函数抽象), data abstraction(数据抽象), streams(流), data-directed programming(数据导向编程), implementation of message-passingobjects(消息传递对象的实现), interpreters(解

15、释器), compilers(编译器), and register machines(寄存器机器)。”短时间内,美国以及世界各地的很多大学把第一门计算机科学课程改成了 SICP 和Scheme。而 SICP 也成了 MIT Press 最为畅销的图书之一。和 SCIP 一起,Scheme 也广泛应用,不仅仅是印第安纳大学,MIT,耶鲁大学的开设的少数课程,而是成为世界性入门语言的选择。自那以后,Scheme 社区为低年级课程提供了一些定制的教育编程环境。其中有 PLT Scheme 和 DrScheme 环境,还提供了免费的教师培训教材:How to Design Programs 和Teac

16、hScheme!。newLISP 旨在提供一个磁盘占用和系统资源使用少的,快速的,强大的,跨平台的,全功能脚本版的 Lisp 程序设计语言。因为它的简单,一致,线性的特点,特别适合于初学者。newLisp 能够最大限度的减少学习的曲线并且带给程序员更多的创造性和快乐。CommonLisp 是通用的(专业的),多泛型程序设计语言。它支持过程式、函数式和面向对象的编程范式。作为一个动态程序设计语言,CommonLisp 促进了迭代编译向高效运行时程序的快速发展。CommonLisp 和大部分其他程序设计语言不同,它使用 S-expressions(S 表达式)来表示代码和数据结构,而函数和宏调用是用链表实现的。通过Lisp 的标准化统一各种 Lisp 的变体已经提上了日程,这不是一个特定的实现而是一个语言规范。现在有几种 CommonLisp 的标准实现,包括商业产品和开源软件 。BASICBasic 是在 1964 年为那些非科学专业学生使用计算机而发明的程序语言。在 20 世纪60 年代在小型机上非常流行,进

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号