专栏名称: 果壳童学馆
靠谱的儿童科学教育; 有料的亲子课讲座; 干货满满的线上分享课程; 以及,大家一起来动手的科学实验
目录
相关文章推荐
51好读  ›  专栏  ›  果壳童学馆

5000字干货:关于让孩子学编程的深度思考和学习规划

果壳童学馆  · 公众号  ·  · 2019-08-05 07:00

正文

作者: 周花卷
编辑:果仁儿妈妈

最近几年,STEAM教育一下子被推到风口。

尤其是“少儿编程”受到各路人马追捧,不仅各种主打线上编程教育的初创公司遍地开花,一些传统的线下学科培训机构也纷纷开始开设少儿编程课程。


少儿编程的“一夜火爆”,背后少不了国家政策的支持。

2017年,国务院印发了《新一代人工智能发展规划》,其中明确提到:

“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。

这一文件等于为少儿编程教育机构高调站台。


另一方面,和语文、数学、英语等学科培训以及艺术培训相比,编程课还算“小众”。

所以很多机构也瞄准了这块潜力巨大的市场,铺天盖地地搞起了宣传。 比如说号称说要教给孩子“人工智能”,或者号称孩子学几节课就可以做出很厉害的作品。

对于父母而言,自己懂得编程的人并不多,真的自己就懂编程的家长可能都996去了,没时间管孩子的课外班;要么就自己在家教了。

这就导致许多家长会被铺天盖地的广告所“迷惑”,无法做出正确的判断。


我自己从小就接触编程,参加过信息学奥赛,在现实生活中,也在帮自己孩子规划编程学习路线。

——我写这篇思考干货的初衷,其实是分享我的思考新得,从而给广大家长提供一份编程启蒙避坑指南。


需要提前说明的是,这篇指南只从整体的角度探讨,不针对任何具体的培训机构。



为什么机构说学编程要趁早? 幼儿园就要开始学了?


我们这一届家长,其实很少有人从小就接触编程。很多人可能到高中甚至大学之前都没有摸过电脑。

作为一个“异类”,我自己是从小学的时候就开始边玩边学编程了。

那时候的编程还不像现在有各种图形化、看上去很好玩的环境和工具,都是直接编写程序代码的。 我认为小学作为编程的起点是可以接受的。

我自己也带过一些孩子学习简单的编程,尽管每个人接受程度不同,但总体而言, 小学二年级(7~8岁)的孩子,其实都已经可以理解编程的基本概念和逻辑了,比如指令、循环、分支、变量等等。


不过,这是否就意味着学编程越早越好呢?

曾经有一个著名的“双胞胎爬梯实验”:

一对双胞胎,其中一个宝宝在48周时开始训练爬楼梯,另一个宝宝在52周时才开始训练,结果两个宝宝都在54周的时候学会了。


学编程也是一样,晚点开始,也未必就会落后,可能还能帮你省点钱

这是因为 一旦孩子的抽象思维和逻辑思维有了一定发展,编程中很多概念就可以被很快理解了; 但反过来,你给一个幼儿园小朋友讲这些东西,就需要花很长很长时间,他们还没办法完全理解。

小孩子无法理解这些抽象的概念怎么办呢?

那就只能搞所谓的“寓教于乐”了:以玩为主,把战线拉长。 这样做对于机构其实也有好处,因为孩子报培训班都是有一定粘性的,早点把你圈进来才能让你一直学下去。



学编程有什么用? 机构说能提高课内成绩? 能帮助升学?


机构宣传的那些好处可能都比较注重实用性,我们先不说这些。

从家长角度来讲,学习编程的好处其实还是在以下两方面:


第一是培养“如何解决问题”的思维方式。

编程思维的核心,其实是把复杂的问题分解成一个一个较小的模块,而其中的一些模块应该是可以重复使用 的。

预先设计好这些模块之间的联系,逐个实现这些小模块之后,再把它们都整合到一起——这种能力对于解决任何问题都有帮助, 也是让孩子学习编程最大的收获之一。


第二是“调试”这个过程所体现的价值。

没有人能一次把程序写对,写完之后一运行,总会发现这样、那样的问题,这时候就需要进行“调试”。

调试对于孩子来讲其实是个很痛苦的过程,有时候调了半天还是不行,就很有挫败感。 但这个过程恰恰能锻炼很多能力:

比如怎样找到问题出在哪里,其实有很多技巧和方法;还要有足够的耐心和敏锐的观察力—— 这些都是放在任何领域都很有用的能力。


至于用编程来提高课内成绩,理论上也许可以做到,但现实中并没有太多数据支持,所以大家也别太当真。


至于编程是否能帮到升学,也是大家很关注的问题。

我观察到的是: 跟升学相关的“硬通货”比赛赛事其实是非常少的。

比如拿NOI(全国青少年信息学奥林匹克竞赛)来说,每年全国比赛金牌也就几十个,其实是非常小众的—— 如果我们拿这个奖牌作为学编程的目的,就会搞得像曾经的“全民奥数”一样,家长和孩子都身心俱疲,也没什么意思了

学习任何东西都是同样的原则: 兴趣为先,适度引导。



学编程才能在人工智能时代有饭吃? 孩子能自己编写 人工智能程序?


自从前两年Google的人工智能软件AlphaGo击败人类最顶尖的围棋选手以来,人工智能一夜之间成了一个家喻户晓的名词。所有的机构都在拿人工智能说事儿,比如说:“人工智能编程,让儿童赢在未来”等等。



我们说的人工智能,其实是指以“机器学习”为主的一种软件系统。

机器学习又是什么呢?

著名人工智能专家吴恩达(Andrew Ng)在他主讲的斯坦福大学机器学习课程简介中是这样说的:

“机器学习是一门研究让计算机无需专门编写程序,就能完成工作的科学。

也就是说,机器学习的目标就是“不需要编程”,意外吗?


机器学习解决了一些复杂的特征识别问题,

比如说一张图片上面是猫还是狗,我们用传统的指令编程很难让计算机完成这个任务,因为猫和狗的特征太复杂了,不是能用指令描述清楚的。

而机器学习的思路就是甩给计算机几万张图片,每一张都事先标好答案,比如这张是猫、那张是狗、这张什么都不是。用这些学习材料去训练计算机,让它自己找到猫和狗的特征,再去判断它没见过的图片里是猫还是狗。


因此,相比编程本身来说,人工智能和数学的关系其实更强。 学编程只能帮你更好地理解人工智能的工作方式。

如果你问我什么人在人工智能时代一定有饭吃,我会说“数学家”; 至于程序员,其实已经有人用遗传算法和神经网络教会计算机自己编程了,等于和程序员抢饭碗,你颤抖了吗?


还有些父母听说可以让孩子自己编写很厉害的人工智能程序,感到非常心动,比如“让孩子自己独立编写的动作捕捉程序”。

懂编程的人一看就知道这是哄小孩玩的——怎么定义的“自己编写”呢?


给孩子一个打包好的工具箱,里面有一个现成的工具就叫“动作捕捉”,然后让孩子自己写一行代码(其实是照抄一行代码),调用一下这个工具,搞定。

这种东西从学习的效果而言有什么意义呢?更多是为了让家长不明觉厉,心甘情愿掏钱吧。


其实,现在的人工智能离真正我们期待的“智能”还差得远。

如果机器学习本身的原理没有突破,那么可预见的将来,它依然会离“智能”差得远。

未来,人工智能将替代一部分人类工作,但我们不能把它看成是一种威胁,而是一种新的机会。

我们作为父母,面对人工智能时代的时候,应该让孩子“练好内功”,而不是赶现有技术的“时髦”。 至于人工智能,等有了一定的数学和计算机科学底子再去了解它也不迟。



学编程和学机器人的区别在哪里?

我们环顾四周的课外班,就会发现: 搞机器人的机构比搞编程的机构要多得多 。这里面有很多原因:

首先, 很多机构最初都是搞乐高培训起家的,从搭积木到机械结构、再到自动化是一个比较自然的路径。

再加上乐高自己也有WeDo、EV3这样的机器人教育模块,因此机构在这方面的准备更充足一点。

其次,学机器人是需要购买硬件设备的, 也可能成为机构的一个利润来源 ,而学编程卖得就只有课时了。

最后,机器人领域里可以有很多大大小小的比赛,这些比赛都是组队参加的。 尽管水平可能良莠不齐,但搭配组合、培训后总能拿出成绩,孩子也可以拿到几张证书,皆大欢喜。而编程在大众赛事这方面就比较缺乏,也和它的特点也有一定的关系。


父母该如何看待机器人教育呢?

我认为机器人学习其实是一个交叉领域,尽管也会涉及到一部分编程,但是在少儿阶段,学习的内容还是集中在逻辑控制层面,并不会特别深入。


所以到底让孩子学机器人还是学编程,应该从孩子的兴趣出发:许多孩子对于机器人这种比较“现实”的东西更感兴趣,而另一些孩子更喜欢“搞脑子”。


从STEM教育的角度来看,其实两者都很好,无所谓孰优孰劣。

我也看到过一些机构非要忽悠家长说学机器人比学编程好,理由是学编程只能在电脑上搞虚拟的东西,机器人这种能做出真东西的才有用——这就是别有用心了。







请到「今天看啥」查看全文