教育程序设计语言.doc_第1页
教育程序设计语言.doc_第2页
教育程序设计语言.doc_第3页
教育程序设计语言.doc_第4页
教育程序设计语言.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教育程序设计语言目录1 学习顺序 1.1 Smalltalk/Squeak based1.2基于Java1.3基于Lisp1.4 BASIC2 适合孩子3 适合大学4 年龄与经验对语言的选择5 参见6 外部链接7 参考文献Learning Paths一个教育性质的程序设计语言,是一种主要设计于用来学习的工具,与用于编写真实环境下的应用程序编程语言不大相同的一种编程语言.学习顺序许多教育性质的程序设计语言都把自己提供建议的学习顺序上,即是学习一组编程语言的顺序,每种语言都建立在其他语言的基础上,使得学生能够完成从简单又易于理解的娱乐性编程环境到专业开发环境的转变。下面是一些著名的程序设计语言。基于SmalltalkSqueak作为“OLPC(One Laptop per Child,每个孩子都有一台电脑)”项目的一部分,Smalltalk提出一个建议的语言学习顺序,其中的每种语言都被设计成下一种的入门和基础。这个顺序是:Scrath-Etoys-Squeak-任意Smalltalk。在学习的过程中,每一种语言都提供了图形化的编程环境,不仅是用于教会孩子们一些编程的概念,而且是包含物理和数学知识的模拟及讲述故事的一些练习。Smalltakl和Squeak作为全功能的应用程序开发语言,在过去的数十年中已经变得十分有名了,而Scratch是孩子们学习的工具。Scratch是一种基于Squeak、并由Squeak实现的可视化程序设计语言。通过让孩子们创建游戏,视频和音乐,达到教会孩子们一些编程概念的目的。在Scratch中,所有的互动物体,图形和声音都能够很轻松的导入到新的程序,通过新的方式将其组合,通过这种方法,初学者能够很快的看到结果,并且有兴趣深入学习下去。在Scratch社区中,已经开发和上传了超过100,000个工程项目。Scratch是由MIT多媒体实验室开发的。Etoys的创意来源计算机屏幕上那些可编程的实体。Etoys提供一个简单高效的脚本对象模型,和一个用户媒体丰富的创作环境,涵盖了2D和3D图形,图片,文本,粒子,演示文档,网页,视频,声音和MIDI音乐,能够与其他Etoys用户实时共享桌面,通过互联网进行身临其境的指导。Etoys是多语言的,已经在美国,欧洲,南美,日本,韩国,尼泊尔等地取得了成功。这个项目是针对9至12岁的儿童的。Squeak是一个现代的,开源的,功能齐全的Smalltalk程序设计语言和执行环境。Smalltalk是一个面向对象,拥有动态类型和反射特性的程序设计语言,用来支持“人机共栖”这个“新的世界”的计算典范。像Lisp一样,它有影像式持久性(image-based persistence),所以通过语言本身能对所以任何事物进行修改(参见Smalltalk反射)。Smalltalk在面向对象编程和JIT及时编译等方面给行业带来了深远的影响。Squeak是在广泛开发项目中使用的工具,包括多媒体应用,教育平台和商业网络应用程序等。Squeak被设计为高度可移植的,调试,分析和维护亦是如此,这是因为Squeak的虚拟机完全用Smalltalk编写的,Squeak的主页维护着免费的教程列表,Stphane Ducasse则维持着大量Smalltalk和Squeak相关的在线书籍。现如今使用最广泛的,采纳了许多Smalltalk的设想的语言是Objective-C。基于JavaSun公司推荐的学习顺序是:Greenfoot-BlueJ-Netbeans/BlueJ-Netbeans/Java。Greenfoot是一个交互式Java开发环境,主要目的是用于教育。它可以很容易的开发2D图形应用程序,例如一些模拟和互动游戏。主要是针对于高中和大学早期阶段的编程学习(Java的面向对象编程)。BlueJ是一个完整的Java环境,是特别为课程导入教学,一年级的大学生设计的。BlueJ消除了一些复杂的Java语法,难以理解的输入输出(I/O),并且可视化的表示出了类/对象之间的关系。BlueJ编程环境是关于教授初学者面向对象概念的大学研究项目(The Blue System)的一部分。BlueJ目的是为一年级的大学生提供一个易于使用、便于教学的Java环境,特别强调了可视化与互动技术,旨在创造出一个高度互动的环境,鼓励试验和探索。NetBeans/BlueJ是一个集成开发环境,旨在帮助学生从BlueJ的IDE过渡到更专业的NetBeans IDE。Sun提供了针对高中教学和使用Java/BlueJ免费课程。 NetBeans/Java是一个专业的开发平台。NetBeans既是一个网络应用程序开发平台,同时也是使用NetBeans平台的IDE(集成开发环境)。NetBeans Platform是能够简化桌面应用程序开发的可复用性框架,提供了开发桌面应用程序所需的共通服务,使得开发者能够把重点放在实现应用程序的业务逻辑上。NetBeans IDE是完全使用Java编写,基于NetBeans Platform的集成开发环境。NetBeans IDE与众不同的支持所有类型的Java应用程序开发(Java SE,Web,EJB和移动应用程序)。其他的特性还包括使用基于Ant的工程系统,版本控制和重构。基于LispLisp是现如今使用的计算机语言家族中第二古老的语言,因此拥有大量的方言以及广泛的实现。Lisp最初是作为计算机程序的实用数学记法而创立的,基于演算,这使得它特别适合于理论计算的教学。作为最早的程序设计语言之一,Lisp开创了许多计算机科学概念的先河,包括树形数据结构、自动存储管理、动态类型、面向对象编程、自足执行的编译器(self-hosting compiler)。这些概念对于学习计算机科学而言是十分有帮助的。LISP语言的名字来源于“LIST Processing language(列表处理语言)”。 链表是Lisp中最主要的数据结构之一,Lisp本身代码就是由链表构成的。因此,Lisp程序能够将源代码当作某种数据结构来进行操作,这就允许程序员创建新的语法,甚至是能够把新的特定领域的语言嵌入到Lisp。所以Lisp对于学习语言的设计,创建自定义语言是相当有用的。合理的学习顺序是:Logo-Scheme/newLisp(教育版变体)-Common Lisp(职业版变体)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目前已广泛应用于各种平台,同时提供了免费版和商业版。Scheme最初是在1975年出于教学目的而设计的语言(参加9 LISPs of the day used non-recursivecontrol structures to implement lambda calculus以非递归的控制结构实施演算),这主要是因为Lisp仍然在硬件实现具有高效率。Guy L.Steele,Jr和Gerald Jay Sussman创造出了Scheme,通过使用简洁高效的Lisp过程调用,使得Scheme成为最快的解释型语言之一。从语言教学上来讲,可以通过以domain-specific languages(DSL,特定领域语言)和MetacircularEvaluator(元循环计算)的方式来进行。1984年出版的Structure and Interpretation of Computer Programs(计算机程序的构造和解释)将这种教育理念纳入了经典的教学课本中,从而改变了Pascal在大学程序设计语言中的优势地位。“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旨在提供一个磁盘占用和系统资源使用少的,快速的,强大的,跨平台的,全功能脚本版的Lisp程序设计语言。因为它的简单,一致,线性的特点,特别适合于初学者。newLisp能够最大限度的减少学习的曲线并且带给程序员更多的创造性和快乐。CommonLisp 是通用的(专业的),多泛型程序设计语言。它支持过程式、函数式和面向对象的编程范式。作为一个动态程序设计语言,CommonLisp促进了迭代编译向高效运行时程序的快速发展。CommonLisp和大部分其他程序设计语言不同,它使用S-expressions(S表达式)来表示代码和数据结构,而函数和宏调用是用链表实现的。通过Lisp的标准化统一各种Lisp的变体已经提上了日程,这不是一个特定的实现而是一个语言规范。现在有几种CommonLisp的标准实现,包括商业产品和开源软件 。BASICBasic是在1964年为那些非科学专业学生使用计算机而发明的程序语言。在20世纪60年代在小型机上非常流行,进而在20世纪70年代末,80年代出成为微机的标准计算语言。Basic目的是满足简单学习编程的需要:初学者很容易上手,是交互的,提供明确和友好的错误信息,反应迅速,并不需要多少对计算机硬件或操作系统的了解。短小的程序使得Basic特别适合于教学用途,你可以通过不到十行的代码就能阐述清楚出一个概念。而且Basic并不需要对数学或者是计算机科学有多少精通的了解。Basic作为一个延续到今日的语言,拥有许多很好的自学教程和实现。参见完整的Basic方言列表。Basic提供的建议学习顺序是:以Basic为基础的,如微软的Small Basic,Basic-256和SiMPLE到全功能的Basic,如Visual Basic .NET或Gambas。Visual Basic .NET可以通过Visual Basic Express版本获取,其中包括K-12 learning center (K-12学习中心)和Beginner adult learning center(成人初学者中心)。微软Small Basic作为一个入门程序设计语言,是Visual Basic的简化版本。“旨在把乐趣带回到编程中”。Small Basic实在是小,只有15个关键字,并且每个都自然好懂。Small Basic提供特别的对象函数库,包括使人普遍感兴趣和孩子们感兴趣的东西(例如Flickr)。孩子们能够在线或在本地创建有趣的交互程序。Small Basic利用了微软的Visual Studio IDE提供的自动完成和上下文相关的帮助。Gambas是一个免费提供、易于使用的Linux版本,在维基百科中收录了Gambas词条。BASIC-2565是易于使用的Basic版本,设计用于教会孩子们计算机编程的基础知识。它使用了传统的Basic控制结构(go sub, for loops,goto),这便于孩子们理解程序流程的控制。Basic-256提供了一个内置的绘图模式,允许在屏幕上绘画。Basic-256还提供了教程,通过有趣的练习来介绍编程的概念。SiMPLE是一种编程开发系统,是为了提供给普通人简单的编程能力,尤其是非专业人士。SiMPLE依稀让人想起了AppleSoft的Basic。SiMPLE是一个编译式的语言。此外,SiMPLE允许用户将经常使用的功能创建为函数库。SiMPLE是三种略微不同语言的通称:Micro-SiMPLE(只有4个关键字)、Pro-SiMPLE、Ultra- SiMPLE(23个关键字)。ChildrenAgentSheet是屡获大奖的游戏和仿真制作工具,它可以简单到让中学生通过制作视频游戏来学习计算机知识,也可以复杂到让NASA的科学家来模拟航天飞机的有效负荷。AgentSheet是由一个叫做Scalable Game Design(可扩展的游戏设计)的完整课程提供支持的,它从简单的像青蛙一样(Frogger-like)的游戏一直到复杂的人工智能仿真游戏。AgentSheet支持游戏(动画,交互,声音,语音合成/识别(Mac),科学应用程序(绘图,输出到电子表格,3D绘图(Mac)。AgentSheet有英语,希腊语和日语版本。Lego Mindstorms以AgentSheets为基础,开发了LegoSheets程序设计语言,比Brick Logo的学习曲线要平缓的多。Alice是一个免费的编程软件,旨在教会孩子们事件驱动的面向对象编程。编程者可以使用现代IDE,以拖拽的方式创建交互式的故事程序。Alice目标群体是大多数中学阶段的有计算机使用经验的女生,可谓寓教于乐。还有一个叫Story Telling Alice的Alice的变体,能够提供更强的讲故事能力。Baltie是图形化的编程工具,适合儿童,青少年(成人)。Baltie是软件中一个主要的角色,一个巫师,用来执行各种命令、将出现在他视野的图片变魔术。通过Baltie的帮助,孩子们能够很快认识到什么是计算机,如何对计算机进行操作和编程,这些都是在玩的过程中实现的。Baltie同样能够帮助逻辑思维训练,而且对孩子们的知识并没有多少要求,只要求会玩和想象力。Baltie已经在许多国家的小学中采用了。新版本的Baltie 4甚至完全支持C#,更多的信息可以在SGP Systems中找到。Guido van Robot是一个机器人控制程序,有点类似于Logo和Karel J. Robot,使用了Python语法中的很少一部分。Guido van Robot被设计成对任何高级语言都尽量简化和通用。还有一个叫RUR-PLE的变体,它包括了完整的Python语法和一些经典的课程。Karel,Karel+,和Karel J.Robot是为那些完全的初学者而准备的。用来在一个由长方形街道网格组成的城市中控制一个简单机器人。Karel是一个自主的程序设计语言,而Karel+是Karel的C+实现,Karel J. Robot则是Karel的Java实现。Learn to Program BASIC是一个通过互动课程教会中学生Basic的Basic解释程序,在Basic语言中加入了一些的游戏,包括对2D sprite支持。在LTPB中编写的程序能够脱离LTPB独立执行,即是一个可以自由分发的“runner”。Lego Mindstorms(乐高机器人)是集合了可编程Lego砖块、电动马达、传感器、Lego砖块、Lego Technic部分(齿轮、轮轴、横梁)的统称。Mindstorms起源于益智玩具中可编程传感器模具(programmable sensor blocks)。第一个Lego Mindstorms的零售版本在1998年上市,当时叫做Robotics Invention System (RIS)。最近的版本是2006年上市的Lego Mindstorms NXT。许多语言都能对Mindstorms进行编程,包括Logo、Basic、Java的衍生版、Smalltalk和C语言。Computer Clubhouses是专注于Mindstorms编程的网站。Phrogram(第二代的KPL,MS Kids Programming Language)是2006年引入的一个商业的、易于学习的程序设计语言和集成开发环境。它强调图形和声音,使得它特别容易开发游戏,寓教于乐的程序。Phrogram是简化的结构化语言,提供了基于组件开发的特性,例如类和方法。Phrogram在现代IDE中进行建模,例如Eclipse 和Visual Studio. NET,并可以帮助初学者为这些或者其他的专业开发环境做好准备。RoboMind是一个简单的教育性质的编程环境,能让初学者对机器人编程。RoboMind介绍了流行的编程技术、一些机器人学和人工智能的知识。人们能够使用阿拉伯语、中文、荷兰语、英语和瑞典语对机器人进行编程。StagecastCreators是基于示范编程的可视化编程系统。用户通过移动屏幕上的图标,为物体(角色)制定规则来操作整个系统。用户可以创造2D模型来模拟一个概念,多层次的游戏,交互的故事等。University大学A+是最近一个旨在创造一种程序设计语言,提供一个高效编程训练工具的尝试Curry是一个教学语言,旨在合并最为重要的编程范式,即函数编程(嵌套表达式、高阶函数、延迟赋值)和逻辑编程(逻辑变量、局部数据结构,内置搜索)。在这一过程中,Curry同样整合了两种最重要的操作原则:“Residuation”(残差)和“Narrowing”(缩小)。Haskell是大学中经常用来替代LISP或Scheme的函数语言。Haskell主要目的是以同样方式进行教学、研究、程序设计,是纯粹的函数式、富于表达的延迟赋值程序设计语言(extremely expressive lazy functional)。Haskell示例可以在线获取,同样还有许多书籍和教程。还有一个叫Helium的教育版的编译器和IDE。Haskell另一个优势是在教学归纳法上,因为Haskell的语法在归纳证明中很有优势,就像在纸上证明一样简单,而不像Lisp/Scheme还需要引入额外的语法。Oz是旨在于教育计算机理论的程序设计语言。Oz在单一语言中支持大多数主要的编程范式,因而学生学习范式不需要掌握多种语法。Oz通过简单又良好分解的方式来阐述主要的编程范式的概念,包括逻辑式、函数式(包括lazy和eager)、命令式、面向对象、强类型、分布式及并发编程。Concepts, Techniques, and Models ofComputer Programming是介绍Oz的经典图书,还有一个免费的Oz标准实现的语言Mozart Programming System。Qi II是一个函数程序设计语言。Qi的核心是Lisp的简化版,但是它包含最常见的现代函数式语言的特性,例如模式匹配、局部套用函数、偏应用(partial applications)、静态类型检查。Qi II还包括一个嵌入Prolog的发行版,叫Qi Prolog。 所有这些特性与Lisp环境的结合,使得Qi在某种意义上可以称为合理化和现代化的Lisp。 Qi在非商业用途上是免费的,一本经典的图书Functional Programming in Qi专门介绍Qi编程。年龄经验水平合适的编程语言学龄前二年级无/不适用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五年级八年级有一些经验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 BlueJEducational programming languageEducational programming languageFrom Wikipedia, the free encyclopediaJump to: navigation, searchAn educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing real-world application programs.Contents 1 Learning Paths o 1.1 Smalltalk/Squeak based o 1.2 Java based o 1.3 Lisp based o 1.4 BASIC 2 Children 3 University 4 Languages by age and experience 5 See also 6 External links 7 References edit Learning PathsMany educational programming languages position themselves inside a learning path, that is a sequence of languages each designed to build on the others moving a student from easy to understand and entertaining environments to full professional environments. Some of the better known are presented below.edit Smalltalk/Squeak basedAs part of the One Laptop per Child project, Smalltalk has developed a flow of languages each designed to act as an introduction to the other. The structure is Scratch to Etoys to Squeak to any Smalltalk.1 Each provides graphical environments which may be used not just to teach programming concepts to kids, but also physics and mathematics simulations, story-telling exercises, etc., through the use of constructive learning. Smalltalk and Squeak are fully featured application development languages that have been around and well respected for decades; Scratch is a childrens learning tool. Scratch is a visual programming language based on and implemented in Squeak. It has the goal of teaching programming concepts to children and letting them create games, videos, and music. In Scratch, all the interactive objects, graphics, and sounds can be easily imported to a new program and combined in new ways. That way, beginners can get quick results and be motivated to try further. In the Scratch community over 100,000 projects have been developed and uploaded.citation needed It is developed at MIT Media Lab. Etoys is based on the idea of programmable virtual entities behaving on the computer screen. Etoys provides a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users. It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, the ability to share desktops with other Etoy users in real-time, so many forms of immersive mentoring and play can be done over the Internet. It is multilingual, and has been used successfully in United States, Europe, South America, Japan, Korea, India, Nepal, and elsewhere. The program is aimed at children 9-12 2 Squeak is a modern, open source, full-featured implementation of the Smalltalk programming language and environment. Smalltalk is an object-oriented, dynamically typed, reflective programming language created as the language to underpin the new world of computing exemplified by humancomputer symbiosis.3 Like Lisp, it has image-based persistence, so everything is modifiable from within the language itself (see Smalltalk#Reflection).4. It has tremendously influenced the industry introducing many of the concepts in object-oriented programming and just-in-time compilation. Squeak is the vehicle for a wide range of projects including multimedia applications, educational platforms and commercial web application development. Squeak is designed to be highly-portable as well as easy to debug, analyze, and change, as its virtual machine is written entirely in Smalltalk The main site maintains a list of free tutorials, and Stphane Ducasse maintains a large collection of Free Online Books related to Smalltalk and Squeak. The commonly used professional language in greatest use today which incorporates many of Smalltalks ideas is Objective-C. edit Java basedSuns recommended path is Greenfoot to BlueJ to Netbeans/BlueJ to Netbeans/Java5 Greenfoot is an interactive Java development environment developed primarily for educational purposes. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games. It is mainly aimed at programming education (object-oriented programming with Java) at high school and early university level.5 BlueJ is an integrated Java environment specifically designed for introductory teaching, first year college student. It eliminates some of Javas complex syntax, the difficulties of I/O and represents the object/class relationships visually. The BlueJ environment was developed as part of a university research project about teaching object-orientation to beginners (the Blue system). The aim of BlueJ is to provide an easy-to-use teaching environment for the Java language that facilitates the teaching of Java to first year students. Special emphasis has been placed on visualization and interaction techniques to create a highly interactive environment that encourages experimentation and exploration.6 NetBeans BlueJ Edition is an integrated development environment (IDE) meant to transition students from the introductory IDE BlueJ to the more professional IDE NetBeans. Sun provides a free curriculum, designed for and tested in high schools for use in teaching Java/BlueJ. NetBeans / Java This is a professional level platform. NetBeans refers to both a platform for the development of applications for the network, and an integrated development environment (IDE) developed using the NetBeans Platform. The NetBeans Platform is a reusable framework for simplifying the development of other desktop applications. The platform offers services common to desktop applications, allowing developers to focus on the logic specific to their application. The NetBeans IDE is an open-source integrated development environment written entirely in Java using the NetBeans Platform. NetBeans IDE supports development of all Java application types (Java SE, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, version control and refactoring. edit Lisp basedLisp is the second oldest family of computer languages in use today, and as such has a host of dialects and implementations at a wide range of difficulties. Lisp was originally created as a practical mathematical notation for computer programs, based on lambda calculus, which makes it particularly well suited for teaching theories of computation. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, object-oriented programming, and the self-hosting compiler all of which are useful for learning computer science.The name LISP derives from LISt Processing language. Linked lists are one of Lisp languages major data structures, and Lisp source code is itself made up of lists. As a result, Lisp programs can manipulate source code as a data structure, giving rise to the macro systems that allow programmers to create new syntax or even new domain-specific languages embedded in Lisp. So Lisps are useful for learning language design, and creating custom languages.A reasonable learning path would be Logo followed by any educational variant such as Scheme or newLISP, followed by a professional variant such as Common LISP. Logo is a language that was specifically designed to introduce children to programming. The first part of learning Logo deals with turtle graphics (derived from turtle robots used as early as 1969 with proto-Logo. In modern implementations, an abstract drawing device, called the turtle, is used to make programming for children very attractive by concentrating on doing turtle graphics. Seymour Papert, the inventor of Logo, was a major thinking in constructionism, a variety of constructivist learning theory. Papert argued that activities like writing would naturally be learned by much younger children providing that they adopted a computation culture.7 Logo was thus designed not only to teach programming, and computation concepts but to enhance a childs entire well being in a culture increasingly dominated by technology, more important than having an early start on intellectual building is being saved from a long period of dependency during which one learns to think of learning as something that has to be dished out by a more powerful other.Such children would not define themselves or allow society to define the

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论