每个人的童年,都曾有过对机器人的渴望。人类从古至今,也一直有一个梦想——驾驭机器,人类歇着,让机器代替人类去完成任务。
然而,光是“让机器动起来”,就让无数人付诸了努力,比如:机关,轮子,发动机,真人驾驶、当场发布指令。当然,也包括现代的编程——编好程序,让机器人按照预设指令运动等等。
正因为编程的存在,现代的人工智能,才能真正派上用场;而人类的梦想,离实现也越来越近,甚至经历一个从“无人”→真人→无人的历程。这就是我们与机器人的渊源。
如今,少儿编程越来越火。很多省市已将编程加入校本课程,并纳入中高考体系,很多家长也开始注重孩子对于编程的学习。在挑选课程的过程中,却发现有着机器人编程和软件编程两个分类!
那到底什么是机器人编程?学机器人,等于玩吗?还有少儿编程、乐高、机器人编程,这些到底是不是同一个东西?很多家长搞不清楚它们之间的区别,以及该如何选择。今天,我们就来给大家系统梳理一下。
一、什么是机器人编程? 学机器人,等于学少儿编程吗?
我们先来看看什么是乐高、机器人编程与少儿编程。
1、乐高
乐高,是丹麦的一家出品积木玩具公司,其产品由五彩的塑料积木、齿轮、迷你人型和各种不同其他零件,可组成各种模型物件。
根据功能复杂程度可分为三大类:砖块搭建类、机械搭建、乐高机器人。
1)砖块搭建类
大多数孩子刚接触乐高,玩的就是这个。
比如:各式各样的散装积木,孩子可以根据图纸说明或想象,把积木拼搭起来。
最大的特点:静态模型,不能动。
2)机械搭建类
砖块搭建玩熟后,一般就可以开始玩机械搭建。大部分是汽车、火车、变形金刚、飞机等机械类的玩具,会用到轮子、齿轮、马达、控制器等。
最大的特点:机械模型,能简单地、重复地动。
3)乐高机器人类
在砖块和机械搭建基础上,结合了编程控制。
最大的特点:机器人模型,通过编程控制机器人动起来。
可以看到,乐高玩具的设计,正好对应了人工智能诞生的演变历程。而且,显然不是所有的乐高玩具,都属于机器人编程的范畴,只有乐高机器人才是。
除了乐高机器人,国内的机器人教育领域,还包括很多种类型,比如创客机器人、人形机器人等。而乐高机器人,只是其中一部分,并不等同于机器人编程!
那什么才是真正的机器人编程呢?
2、机器人编程
让孩子通过给定的零件,进行组装、搭建,然后编写程序,让机器人包含的各种功能模块动起来,实现对机器人的控制的教学活动。
机器人编程课程,一般可以拆为两大部分:
一部分相当于机器人的“身体”,也就是搭建学习,或者说硬件知识。
一部分是让它机器人“动起来”的程序,相当于“大脑”,对应的是编程的学习。
那么,学机器人,就等于学少儿编程吗?
很明显,机器人编程,不等同于少儿编程!
3、少儿编程
是通过编程游戏启蒙、可视化图形编程等课程,培养学生的编程思维的教学活动。根据不同年龄的青少年儿童分年龄、分阶段、系统性地教授儿童编程语言,从最开始的逻辑思维和抽象思维的培养,再到教会孩子学会运用“编程思维”,最后利用算法设计去解决实际问题的教育方式。
如果把编程比喻成钓鱼,那么机器人编程更关注鱼(让机器人动起来),而少儿编程则关注钓的过程和创意;如果说机器人教育是构建四肢的过程,那少儿编程就是构建大脑的过程。
机器人编程,是硬件编程的代表,是少儿编程重要的组成部分。从某种程度上来说,机器人编程比较依赖机器人,它在编程的基础上将软硬件结合应用,更偏向硬件、偏向物理的一个方面,更多培养的是孩子的动手能力。比如,乐高机器人通常可能只有30%左右的时间会花在编程上,而且一般不会很深入。
而少儿编程是一个很广泛的概念。软件编程是其中很重要的一个成分,包括Scratch图形化编程和Python代码编程。它们是编程学习的基石,不受硬件的控制,既可以应用于机器人,也可以应用在更广阔的场景之中。除了教孩子编写代码,更多的是让孩子学会运用“编程思维”解决问题。
所以,如果想真正培养孩子的编程思维,最好是系统学习少儿编程!
二、机器人编程更适合启蒙,图形化编程更适合开始正式学习!
基于皮亚杰的儿童思维发展阶段理论,7岁以前的儿童,是不适合系统学习真正的编程知识的。也就是不适合直接接触任何与编程语言相关的学习。这就是为什么所有的图形化编程学习,要求孩子的年龄至少是一年级下学期阶段。
处于前运算阶段(7岁之前)的儿童,还没有具备相应的数理逻辑思维,不能够理解这些对科学思维能力、逻辑思维能力要求很高的运算表达。
而编程语言,实际上是一种抽象的符号,让低年龄阶段的孩子,去理解和使用这些抽象符号,就像揠苗助长教奥数一样,容易产生强烈的挫败感和畏难情绪。
“启蒙”往往是“学习”前的重要步骤。虽然我们不提倡超前学习,但启蒙还是ok的。而机器人编程,正好可以弥补这一点。
1、机器人编程启蒙:用具象解释抽象
一般来说,小孩子对事物的理解建立在实物的基础之上,先有了具象的认识,才能慢慢过渡到抽象的认知。因此,要想让孩子产生理解和兴趣,一定要先从具体实物开始,从“动手感知”开始的。
而机器人编程编写好的程序效果,可以直观地通过机器人表现出来,互动性强,轻松有趣,容易吸引年龄较小的孩子,也更能让孩子理解程序执行的过程。
简单的乐高机器人课程,虽然并不能让一个5岁孩子开启真正意义上的编程,拥有多少编程思维,但对于激发孩子的科技兴趣与求知欲,还是很有帮助的。
2、Scratch图形化编程学习:从具象过渡到抽象
Scratch图形化编程语言,是少儿编程正式系统化学习的开始,虽然是可视化的,但是本质上还是包含抽象的符号与概念的。
皮亚杰,在他的理论中就非常强调思维的直观性——无法被直接观察到的东西,是很难被小孩子理解的,尤其是11岁以前的孩子,这方面的要求更突出。
为了让Scratch更适合儿童的学习,Scratch开发者进行了很多的努力。比如,运用“模块化编程”教学原理,将代码指令封装在积木块内,用玩具和游戏形式的奖励让孩子产生兴趣;孩子可以拖拽图形化积木块进行拼搭,创作各类作品;在玩游戏一样的体验中,逐步接触与掌握复杂的抽象概念与原理,顺利从具象过渡到抽象思维阶段。
三、为什么学完乐高机器人之后,孩子最好继续学习图形化编程语言?
我们通常说的机器人编程,一般指机器人编程教育的初级阶段,低龄的孩子更适合。程序逻辑简单,有局限性,涉及知识不广泛,涉及的数据结构、数学计算和算法也不复杂。最多涉及到一些图形化编程,并不教授一些高级编程语言。
而高级的机器人课程,往往要求孩子具备非常扎实的编程基础才可以进行操控,比如C语言,C++等,这些都是软件编程教授的内容。
这种编程基础是很难通过学习初级机器人和零碎的编程知识建立的。这就是为什么市面上小学高年级阶段的机器人课程延续性相对差一些的原因。孩子往往3岁开始学,可是到了8岁之后就没有东西可学。
不管孩子直接学习编程语言,还是持续学习机器人课程,都需要扎实的编程基础。更重要的是,如果打好编程基础,孩子可以学好机器人编程。但如果没有扎实的编程基础,就很难控制好机器人。
因此,孩子学完乐高机器人课程后,最好系统学习编程语言,从图形化编程开始!当孩子学习完Scratch和Python编程语言后,掌握了扎实的编程基础,再去学习机器人高级课程,才能算是真正全线打通少儿编程的学习!
写在最后
编程与机器人,二者是相辅相成的,互相促进的。作为未来人工智能时代的主人,不管是硬件编程,还是软件编程教育,最终目的都是为了提升孩子解决问题的综合能力与适应能力!