新闻列表
咨询热线:
187 - 6397 - 2757
世界编程语言很多,但总有一个人塑造出了多种编程语言,而他就是我们今天所要讲的主人公!
如果我们把各种编程语言的标志放一起,可以凑出一个动物园。例如Python的大蟒蛇、PHP的大象、Go语言的地鼠、Swift语言的雨燕、Perl的骆驼。对于中小学教师而言,最熟悉的动物应该是Scratch的小黄猫和LOGO语言的小海龟。你可能不知道的是,LOGO小海龟几乎定义了现今编程教育方法的基本框架,甚至对儿童教育和计算机发展都产生了巨大影响。在本文中,我们将一同回顾小海龟的成长历程,以及它是如何影响了世界。
01
“小海龟”诞生
我们今天提到小海龟,通常就是指麻省理工学院教授西摩尔·派普特的LOGO语言和其中的绘图小海龟。西摩尔·派普特出生于南非,父亲是一名昆虫学家。派普特在本科学习哲学,而后分别在威特沃特斯兰德大学和剑桥大学获得了两个数学博士学位。在攻读第二个数学博士期间,派普特结识了影响他一生的人物让·皮亚杰(Jean Piaget)。皮亚杰被公认为是仅次于佛洛依德的心理学“巨人”,他创建的认知发展理论颠覆了人们原本对儿童发展的理解。在此之前,儿童的玩耍一直被认为是无关紧要的行为,皮亚杰则认为玩耍对儿童的知识建构起到了重要的作用。在皮亚杰的影响下,派普特来到日内瓦大学,花了四年时间,与皮亚杰共同开展数学与儿童教育的研究工作。
派普特认为:“当代文化中常见的数学恐惧症让很多人看不到数学知识的真面:一方面,他们对自己所认为的‘数学’敬而远之;另一方面,尽管他们在数学知识上没有什么困哪,但却不认为那就是数学。”吸收了皮亚杰的认知发展理论,派普特希望找到一种学习方法,既能与数学知识相关联,又能让儿童以他们的认知方式去理解。海龟型机器人是派普特最先找到的一个入手点。
1963年,派普特加入麻省理工学院,与著名人工智能科学家马文·明斯基共同研究人工智能。同时,派普特也在研究如何借助计算机辅助儿童学习。在派普特的带领下, LOGO语言和绘图小海龟机器人先后诞生。在20世纪40年代,神经生理学家沃尔特(William Grey Walter)设计了一批机器人,通过让这些机器人模拟动物行为,来进行大脑运行模式的研究。沃尔特用《爱丽丝漫游仙境》中的海龟老师来命名这些机器人。麻省理工学院的小海龟机器人增加了一支笔,儿童可以通过在计算机上的LOGO编程来控制小海龟机器人行走和绘图。而后,LOGO语言里实现了可以直接在显示器上绘制数字图形的数字小海龟。派普特把通过控制小海龟绘图的学习方法称之为“海龟几何”(Turtle Geometry)。这是一种易于学习的几何,它有效承载了很多普遍性的数学概念。打开LOGO语言,孩子们就能看到屏幕上呈现的小海龟,输入FD 100,小海龟就会向前行进100个距离单位,再输入RT 90,小海龟就会向右转90°,再输入FD 100,小海龟继续前进100个距离单位,如此重复4次,小海龟回到原点,画出了一个正方形。小海龟的朝向、行走、转弯的概念,让孩子们得到了一种可以把自身代入到数学中的方式,并且让他们更敢于去探索和尝试解决问题。派普特在他后来出版的《因计算机而强大:计算机如何改变我们的思考与学习》(Mindstorms: Children, Computer and Powerful Ideas)里详细阐述了他的计算机辅助学习和海龟几何的理论。
02
“小海龟”对儿童教育和计算机行业的影响
在今天的各种编程教育工具和机器人产品中,小海龟带来的朝向、旋转、步数已经成为最基本的命令规范。除了在LOGO语言中发挥作用外,这只小海龟还启发了很多影响世界的发明。这其中我们最熟知是乐高的Mindstorms机器人和麻省理工学院媒体实验室的Scratch。
1984年,乐高第三代掌门人克伊尔德·柯克·克里斯蒂安森在一期电视节目中,看到派普特介绍LOGO与小海龟的学习的思想。克伊尔德立刻安排公司与派普特联系。收到乐高公司合作邀请的派普特也很兴奋,他与他的博士生米切尔·雷斯尼克当时已经在思考如何把乐高积木与计算机教育结合。派普特和雷斯尼克希望让电子器件与积木兼容,更轻、更小、更便宜,并且能脱离计算机使用。1990年,派普特团队研发出了乐高与LOGO融合的新产品原型,乐高公司很快转化为正式产品推出。这套产品以上文提到的派普特著作命名,也就是我们熟知的乐高Mindstorms机器人。如今乐高机器人竞赛已经成为每年有来自超过100个国家的60余万青少年参加的赛事。
可以说,秉承了派普特教育思想的Mindstorms机器人是更强大的小海龟,学生可以给机器人设计出更多的功能,通过编程让机器人完成更复杂的行为。而后来米切尔·雷斯尼克(Mitchel Resnick)又创造了一条完全不同的方向。同样基于“做中学、玩中学”的思想,雷斯尼克希望挑战更大的目标。派普特认为,编程语言应该有“低门槛”(容易上手学习),“高天花板”(随着学习深入可以开发越来越复杂的项目)和“宽阔空间”(能支持不同类型的项目以吸引有不同兴趣的人)。以此为目标,雷斯尼克带领麻省理工媒体实验室推出了Scratch。Scratch的“低门槛”的实现主要受儿童玩乐高积木方式的启发,儿童可以从随意的摆放积木块开始,把它们按不同顺序和组合搭在一起,看会有什么结果产生。像传统编程语言中的晦涩的语法和符号都不复存在,Scratch实现了真正的“低门槛”并充满好玩有趣的体验。
小海龟不仅在教育领域产生了影响。1968年,计算机科学家艾伦·凯(Alan Kay)来到麻省理工学院人工智能实验室参观,孩子们使用LOGO语言学习编程的情景让他感到十分兴奋。在进一步了解了派普特和皮亚杰的学习理论后,艾伦提出了Dynabook的设计概念。Dynabook仅重两磅,采用电池供电,儿童可以轻便地携带,随意地在任何地方使用。Dynabook使用图形化界面(GUI),让儿童能轻松的学会操作方法。但是很遗憾,受到当时科技水平的限制,Dynabook没能实际生产出来。艾伦在加入施乐帕克研究中心后,他基于Dynabook的设想开发出了展示原型。1979年12月,艾伦的研究成果让来访施乐帕克研究中心的一位年轻人和他的同事们感到惊讶无比。之后这位年轻人的公司迅速推出了几乎是定义了个人电脑的新产品——Macintosh电脑。这位年轻人就是史蒂夫·乔布斯。2010年,乔布斯执掌的另一个创新产品iPad发布,计算机业界纷纷感慨“42年后,艾伦·凯的Dynabook终于到来了”。
除了设计Dynabook,艾伦还希望能创造一种基于面向对象设计,更利于“人与计算机共生关系”的编程语言。在施乐帕克研究中心,艾伦带领研发了Smalltalk语言。在早期研发工作中,面向对象设计、小海龟(LOGO)和图形化界面构成了Smalltalk最早的蓝图。艾伦在《The Early History of Smalltalk(Smalltalk的早期历史)》介绍了派普特的研究对其设计思路的启发,尤其提到:“FLEX, PLANNER, LOGO, META II以及我个人基于它们的衍生思想对Smalltalk的设计产生了很大的影响。” 2003年,艾伦因其对面型对象编程语言的原创思想,对Smalltalk的研究工作,以及对个人计算机发展的基础性贡献而获得图领奖。Smalltalk被称为“面向对象编程语言之母”,几乎所有后来的面向对象编程语言都是源于Smalltalk的设计思想,比如我们熟知的Java、Objective-C、PHP、Perl,当然也包括今天在编程教育领域倍受关注的Python。
03
“小海龟”在今天
随着计算机行业的蓬勃发展,小海龟已经不仅存在于LOGO语言和海龟机器人。小海龟的绘图方式已经成为一种设计思想, “海龟图形学”在多种编程语言和科学研究中都得以应用。
Lindenmayer系统,简称L系统,是由荷兰乌特勒支大学的生物学和植物学家,匈牙利裔的林登麦伊尔于1968年提出的有关生长发展中的细胞交互作用的数学模型,尤其被广泛应用于植物生长过程的研究。基于L系统的分形图形的绘制就使用了小海龟绘图法,通过更高级的编程语言,能够绘制出三维的植物生长模拟图。
一些编程语言专门创建了小海龟的类库,便于初学者上手学习。如微软的Small Basic,Go语言,Java,Python等。伴随着人工智能产业和编程教育的发展,Python近几年受到了更广泛的关注。根据TIOBE发布的编程语言排行榜,Python是近五年应用量增长最快的语言之一。2018年,Python获得了TIOBE“年度编程语言”的称号。
Python是吉多·范·罗苏姆(Guido van Rossum)于1991年开发的一种解释型、高级编程、通用型编程语言。今天,Python在网络开发、数据分析和机器学习等领域得到广泛应用。与其他语言比较,Python的语法更加优雅、简单,可读性更高,因此全球各国都把Python视为更适合教育使用的编程语言。
Scratch是编程教育启蒙阶段的优秀工具。Python则承担了帮助学生学习编码效率更高、功能更复杂的代码式编程的重任。同样为了实现“低门槛”,很多高中和大学都选择使用Python的Turtle类库作为起始学习内容。即使要使用抽象的代码和语法来编码,Python Turtle依然为学生提供了直观的共鸣式学习环境。学生可以很容易的预测和理解程序的结果,并且主动探究新代码的应用和复杂逻辑的实现。
2019年,由中国科协青少年科技中心和中国青少年科技辅导员协会主办的“全国青少年创意编程与智能设计大赛”中新增了Python比赛项目。大赛的Python赛项面向初、高中学生,以Python Turtle为比赛内容开展。Python赛项分为四个类别招收作品,这个四个类别是:科学探索、实用工具、数字艺术和互动游戏。
回顾小海龟四十多年的发展,我们不禁感叹,这只小小海龟几乎影响了今天所有编程教育产品与教育机器人产品,甚至间接影响了个人计算机和编程语言的基础性设计。派普特与皮亚杰两位教育巨匠塑造了小海龟的灵魂,后来的人们与小海龟相遇,不断激发出创新的火花。在人工智能备受重视的时代背景下,我相信小海龟背后的思想宝库还有源源不断的惊喜等待我们去挖掘。
速云少儿编程致力于 4 - 18 岁,山东少儿无人机编程教育机构,教给孩子们不光要学习编程,还要结合编程知识给我们无人机写程序,实现我们无人机的自动启飞、人脸识别、智能跟随,包括更加高级的编程玩法,就是无人机编舞。可能家长想了!四岁孩子能学习无人机编程吗?那我们看个四岁的小同学吧,你自己看看能不能学习吧!
我们来看一看四岁小朋友的学习视频吧!
家长担心孩子们真的能听懂课程吗?在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!
这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?
其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动、紫色是外观、黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:
这个时候你还认为编程难吗?其实针对4岁起,就已经可以学习编程了。通过搭积木的方式让孩子学习编程。
当然,比如我们下面的无人机编程视频吧!
无人机能六架一起起飞?没错!那他又和数学有什么关系呢?
小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型。
现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?
无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?
答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!
无人机编程都学习哪些内容呢?
让无人机与编程结合?
没错!就是要让孩子“动手”+“编程”实现无人机起飞。
重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。
例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。
看我们小童鞋们上课视频吧
坦克编程都学习哪些内容呢?
动手组装”+“编写程序”
通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。
课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。
例如:人脸识别、智能跟随等前沿技术。