scratch编程跟机器人编程是一回事吗?

网友投稿 2019-08-27 12:10

我们在做课程推广时,很多家长不明白少儿编程、机器人、scratch这些概念,很多人以为学了机器人了就是学编程了,机器人=编程??NO、NO,不仅不是一回事,还差得很远。虽然,学机器人也会学到编程,但是方向完全是不同的。先从“中国电子学会”的青少年信息技术等级考试的分类来看看,什么叫做方向不同:

https://cdn.china-scratch.com/timg/190829/121033K13-0.jpg

可以看到,“机器人技术”和“软件编程scratch”是属于不同的等级考试类别!为更好地迎接人工智能时代的到来,少儿培训领域发展出“机器人教育”和“少儿编程”两类产品。但为什么,在前两年大家听到的都是“机器人教育”,这两年“机器人”又成功地变身“少儿编程”了呢?这要从他们的历史开始说起:从发达国家——美国的相关领域发展历程来看,少儿编程要早于机器人教育。1967年,由 Seymour Papert 主导的多位麻省理工学院计算机学家打造了第一套专为儿童设计的计算机语言——Logo(计算机领域的朋友可能都知道logo小海龟),但发展得并不好,多数产品仍停留在实验室阶段。这是scratch的发展的前身。后来,随着美国家庭在教育领域更大力度的支出,玩具巨头看到了少儿编程领域的商机。在1998年,乐高推出了 Mindstorms 系列机器人,机器人编程从实验室走入了大众消费者,在之后的十多年,机器人编程一直是美国少儿学习编程的主要方式。机器人编程教育也随之传到了台湾,再传到中国大陆,这也是为什么目前市场上机器人教育培训机构比较多、而scratch编程教育线下机构少见的原因——机器人教育培训发展得更快。之后,麻省理工学院媒体实验室又设计了新的适合少儿编程的模块化编程语言Scratch,这是一款可以制作游戏、动画等的编程工具,一旦掌握了这个工具,孩子们就能自由自在地挥洒它们无限的创意——要比乐高机器人更能够激发孩子的创新、创意能力(我们要知道,很多孩子的耐心是经不起消耗的,比如我们家这一位,而scratch却能够快速实现孩子的创意成果)。2013年以后,这款编程语言逐渐风靡世界各国。目前美国已经有超过100万的孩子在学习,甚至很多成人在学习Scratch。同时,很多国家从国家层面开始推广少儿编程,从而从基础上提升信息技术的底子。“编程”变得这么火热,“机器人”当然也需要搭个车,变变身了!那么,在具体的技术领域,机器人教育与少儿软件编程有什么区别呢?主要有两点:第一、教学侧重点的不同机器人编程的目的,是让孩子学会组装搭建和编写程序来运行机器人,机器人课程的内容由硬件知识和编程知识两部分组成,但硬件知识的比重往往会多于编程。硬件知识,主要是由物理学当中的简单机械原理、电子电路和电机方面的知识,其编程知识的学习范围也受限于选择的机器人,因为学习编程在机器人编程课中只是为了让机器人运作起来而已。而少儿编程的目标是系统化地教授孩子编程知识,注重的是孩子的逻辑思维能力、独立思考能力的培养,比如算法、循环等,它的底层逻辑教授的是以最有效的方式去解决某个问题,而且学的是可以在多个场景中通用的解决方法,学习Scratch兴趣培养起来之后,可以继续学习高级编程语言,比如python、c++等,而这些语言的核心算法、语法和结构也都是一脉相承的https://cdn.china-scratch.com/timg/190829/1210344261-1.jpg
图 scratch操作界面和积木块scratch有运动、外观、声音、画笔、数据……等十大模块,有100多个功能积木块,可以实现多个功能积木块的相互衔接、搭配、嵌套,实现动画、游戏等效果。目前大家爱玩的游戏,比如植物大战僵尸、愤怒的小鸟、纸牌游戏等等都可以通过scratch复原出来。同时,像音乐、艺术、文学、奥数等,也可以运用在写程序的过程中,使这些知识和能力从孩子知识、技艺的输入,转变为能力的融合、输出。也就是说,编程并不只是学习代码,而是综合能力的体现。
可以说,scratch是学习计算机语言的敲门砖和基石!第二、学习方向和深度的不同机器人编程是用编程模块指令让机器人动起来为目的,一般情况下孩子们并不是学习源代码编程,用的也是scratch(或其他软件)已经编写好的积木块和功能模块。小朋友做的,只是在把模块按不同的方式拼接起来而已。如果使用scratch软件,是在“更多积木”模块下点击“添加扩展”,连接单片机,编程功能基本只使用scratch“运动模块”中的积木块,其他模块很少涉及(是的,因为只需要机器人动起来,用到的只是围绕机器人运动的积木块)。

https://cdn.china-scratch.com/timg/190829/1210343010-2.jpg

https://cdn.china-scratch.com/timg/190829/1210352145-3.jpg

从深度方面来说,高级的机器人要求非常扎实的编程基础,比如c语言、c++等,但大多数培训机构只停留在初级教育,并不教授这些高级的编程语言,这也是为什么三岁就可以学习机器人,但是到八岁之后就没有东西可学的原因了。而要学习c语言、c++,依然需要学习scratch来过渡,否则容易面临学习兴趣的问题。同时,机器人技术涉及到大量硬件、电路方面的知识和经验,并且在调试中会遇到很多问题,很多错误不是由于程序本身的逻辑错误产生的,而是由于计算机的硬件配置有一些问题,或者是电路等其他的异常导致的。这一点,我询问过小学机器人社团的小同学,小同学就跟我抱怨——组装、调试了大半天,还是不成功,结果是电路的问题,太费时间了!!!如果说在孩子兴趣没有培养起来,基础没有打好之前就直接去让孩子花费大量的精力来处理编程之外的错误,并且在没有专业人士及时的帮助和指导下,很有可能会扼杀孩子的兴趣。
而scratch也并非很多家长认为的“比较简单”,虽然进入门槛低,不需要敲代码,但是能实现的功能却不少,我们上面也说了,所有我们现在玩的热门游戏基本上都可以通过scratch来复原;很多数理逻辑推理也可以通过scratch来证明,奥数与scratch结合更是可以探索无穷尽的内容,高阶的scratch连大学生都玩得不亦乐乎。少儿编程学习是探究编程语言的本质,是一层一层把模块打开,学习模块内部核心的逻辑、算法、语法和结构等,是无上限的。

https://cdn.china-scratch.com/timg/190829/1210354228-4.jpg

简单来说,机器人编程更偏向硬件,偏向物理的一个方面,培养的是孩子的动手能力和对电机电路等的理解。而scratch编程注重的是培养孩子的逻辑思维,独立思考和分析问题的能力,孩子打好编程基础可以学好机器人编程,但反过来没有扎实的编程基础是很难学好机器人的!!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com