曾经的信息学奥赛特奖得主,和你聊聊少儿编程

网友投稿 2019-03-23 08:54

很多读者关注这个公众号,是因为学姐拿奥数省一的成绩立了个学霸人设。嗯,比奥数省一更腻害的,是学姐高中还考过信息学奥赛的省特等奖第一名,然后进了省队参加了全国竞赛NOI,最后保送T大。所以对于少儿编程这件事,我应该算是接受了非常classical的教育和训练,并取得了不错的成绩。

我家娃爹,是一个完全不会写代码,却混迹于IT圈的另类“专家”。和很多男的一样,他对电脑、互联网、科技、未来这些有着与生俱来的兴趣与迷恋。为啥是专家?在我看来,因为他有个很重要的特质,就是对自己对ICT技术的敏感与洞察力有着蜜汁自信!

于是,在娃大概5岁时候,我家经常有这样的对话:

BA:你教教娃编程呗?

MA:编什么程!20以内加减法还算不清楚,数学基础不行学不了!

......

过了一段时间:

BA:你教教娃编程呗?

MA:说过了数学基础不行学不了!.

BA:你了解一下,现在小孩编程和你小时候不一样了,图形化编程,不需要太多数学基础的,玩儿似的。

MA:拉倒吧,如果说编程有两大核心,那是数据结构和算法。如果说只有一个核心,那就是数学!

……

又过了一段时间: 

BA:你教教娃编程呗?现在小孩编程真的和你那时候不一样了,你也update一下对少儿编程的认识。图形化编程,机器人编程,都可以从很小就开始学。

MA:没有数学基础,学个屁啊?不是真正的编程,也就玩玩而已。

BA:现在这个时代,编程能力是基本的思维能力,不用你说的那么深的数学基础,就是一种思维方式。

MA:瞎扯!什么是编程思维?编程思维的核心就是数学思维……balabala……

……

BA:我算是知道了,你学那编程根本不是编程!你那编程,就是奥数!

……

我想了想,娃爹这话说的,竟然好像有点对

但不管怎么说,我还是坚信,5、6岁的娃学不了,也没必要学编程。

然而娃爹执行力太强,说不动我教娃编程,就自己去买了本《6岁开始学scratch》,自己带娃玩了起来。还给娃报了个19.9三节的机器人编程体验课。结果,我家那个数学渣的女娃娃竟然对这两者都非常非常的喜欢……真是的......简直了......我败了!

于是,我真的花时间认真的update了一下对少儿编程的认知。网上关于少儿编程的文章,80%以上是广告,10%空空泛泛,还有不到10%有点干货,也常常是管中窥豹。这里,希望能全面并有点深入的聊聊少儿编程。

先从现象的角度来观察少儿编程:

1、 供给侧:非常火、低龄化

——所以家长会看到很多广告受到很多诱惑

非常火:互联网巨头腾讯、网易均已推出自己的少儿编程产品,三星、优必选从机器人编程角度切入,在线教育巨头好未来收购风靡全球的以色列少儿编程教育品牌CodeMonkey并将其引入教育开放平台。除了巨头还有创业公司:编程猫获3亿C轮融资;小码王获1.3亿B轮融资;编玩边学获数千万元Pre-B轮融资。在融资难的资本寒冬,少儿编程成为一股暖流。

低龄化:二十多年前我小时候,学编程一定是从数学竞赛成绩好的学生中选出,至早在小学高年级阶段开始。而现在,上面提到的那些少儿编程教育课程产品,起始年龄都是6-7岁。我家娃爹买的那本书《6岁开始学scratch》是全世界图形化编程经典教材。

1、 需求侧:很时髦、非刚需

——所以家长最好对为什么学和怎么学有个中长期的思路

很时髦:在美国、英国、荷兰等先进国家,编程已进入幼儿园和中小学课堂,列入国家教学大纲……奥巴马曾表示balabala,乔布斯曾经说balabala……这些网上的宣传我不用多抄,在信息时代,似乎每个积极拥抱未来的父母(比如我家娃爹),都会觉得编程已成为世界通用语言,是孩子必须掌握的技能。2018年底,少儿编程平台编程猫注册学员突破了320万。

非刚需:编程不是高考科目,也无法帮助小升初择校。从这个角度讲,编程和弹琴画画跳舞一样,属于“特长”类课外教育。我觉得也正是这个原因,市面上那些少儿编程课程和产品的适应年龄才下沉到6-7岁。因为真是到高年级升学压力上来的时候,理性的家长都会选择用有限的时间来应对升学。远方和未来总会让位于眼前的苟且。

然而,学不学编程,真的只是远方和未来、与眼前的苟且之间的选择吗?

学姐说,没那么简单。下面从少儿编程学什么,低龄化编程有什么问题,以及编程与未来三个方面展开。

少儿编程学什么

需要解释的是,“编程”和“编程”是不一样的。说到少儿编程,可能是硬件编程、图形化编程、代码编程三种之一。

硬件编程:就是机器人编程(对于少儿编程来讲可以简单这么理解),以乐高机器人为代表,也有一些公司团队开发的其它产品套件。

https://cdn.china-scratch.com/timg/190325/0U4541259-0.jpg

图形化编程:以Scratch为代表,就是我家娃爹买的那本书。

https://cdn.china-scratch.com/timg/190325/0U4544449-1.jpg

代码编程:正统是C++,pascal,与信息学竞赛衔接。还有python,Javascript这种流行开发语言,相对于C++更简单易上手一些。

https://cdn.china-scratch.com/timg/190325/0U4546203-2.jpg

其中,机器人编程的教学体系对幼儿来讲,相对完整,可以从幼儿园一路学到中学。小时候以搭建为主,想象一下拼乐高。慢慢加入一些物理机械知识、硬件知识。相比物理和硬件知识,编程本身也算不上绝对核心,应该算是三位一体。

图形化编程是为了降低代码对小孩的不友好度,专门搞的一种编程。不用码字,鼠标拖拽就行。大概6、7岁可以开始学。通过学习可以理解一些简单的循环、选择这种结构,也需要一些坐标轴这种数学知识。但总的来说内容不多,要不了多久就能学完。继续延伸就要进入代码编程。

代码编程就是我们常理解的码农干的那种。这种要我建议,特别有天赋的,10岁左右开始学已经足够早。而且,有没有图形化编程的启蒙,区别不大!因为图形化那点东西相对于代码编程,太简单了。代码编程的核心基础,还是数学、数学、数学!所以学姐早就说过:

“没有数学的思维能力做基础,小小年纪抢跑学编程,事倍功半。人家数学能力强的到高年级再去学编程,分分钟碾压你。这个和英语、乐器不一样。语言、乐感都有幼儿敏感期,弹琴还有肌肉记忆。但编程这个我觉得实在不适合抢跑。”

虽然我update了对于少儿编程的认识,但这句话依然没有问题!

那图形化编程有意义吗?培养兴趣为主,带点点思维训练吧。那本《6岁开始学scratch》是以设计游戏切入教学,所以孩子比较容易有兴趣。这个和硬件(机器人)编程以拼乐高切入兴趣,异曲同工。说它带点点思维训练,全看老师怎么讲。我曾经给娃讲过一个小游戏,从逻辑、思维的方向,我至少可以延伸讲5个小时的内容。而只是完成程序的话,1个小时也就足够。对培训机构来说,老师还要考虑让家长看到成果,一定需要一课完成。而且,如果真是讲了5个小时,娃的兴趣估计早也就没了。所以,还是培养兴趣为主吧。

低龄化学编程的问题

说到这里,应该可以看出少儿编程低龄化的问题了。前文里我和娃爹的对话中,我们说的都是对的。现在的少儿编程,以搭乐高、编游戏切入,很容易引发娃的兴趣,但这个距离正经的编程,也真的还是差了很远。而消除这个距离,除了提高数学能力,我还想不出别的办法。

以数学渣女儿为例,一边被她爹勾引着兴趣盎然玩编程,一边对平面坐标(x,y)完全蒙圈。想给她多讲点帮实现她的游戏设计吧,她总会因为有点复杂而改变设计想法从而降低实现难度。其实,数学渣真实的兴趣显然不在严谨的编程实现,而在其它的其它,比如设计物体的形状、颜色、声音、跳起来……还有一些莫名其妙的东西。一方面要维护她的兴趣,另一方面想要她多些思考受到锻炼,以我的背景和对亲女儿的了解尚且很难平衡,课外培训机构什么情况可想而知。

关于编程和未来

我相信信息时代确实需要更多的与计算机之间的沟通,编程可能真的是更为基础更为普及的能力需求。但是,既然面向儿童能开发图形化编程,那么未来,面向大众,当然也可以开发出更easy的“编程”方式。在编写底层代码做到精细控制,和语音智能泛泛操作之间,人操作计算机还可以有很多层次。你在哪个层次,由你的数学能力决定,而不是学编程的年龄早晚。底层代码也不是多数人的需求。

最后还想多说一句的是,编程和人工智能,不是一回事。不展开了,这篇就到这儿了。希望对你有帮助。

--end--

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