对少儿编程热的一点冷静思考

网友投稿 2018-09-30 16:11

前几天,星爸爸看到一篇新闻,说的是一位11岁的少女由于编程能力出众,当场被蚂蚁金服董事长给出offer,欢迎她长大后加入支付宝。

11岁编程少女喜提支付宝offer

看到这个消息,我不由得回头看了一眼自己的儿子。此时他正以一副葛优躺的姿势,瘫在沙发里看漫画书。

https://cdn.china-scratch.com/timg/181002/16113045U-0.jpg我无奈地摇了摇头,暗自叹气……

别人家的孩子,果然从来不会令我失望。

星爸爸羡慕的不是别人家的孩子会编程,而是眼馋阿里的offer。

https://cdn.china-scratch.com/timg/181002/16113143U-1.gif

近几年来,许多家长都听说某些省份将“编程”纳入了高考范围,因此忧心忡忡,认为孩子如果不会编程,将来在高考中会吃亏。

然鹅,

https://cdn.china-scratch.com/timg/181002/1611311b9-2.jpg真实的情况是,目前作为高考试点省份只有浙江省。从2018年的高考开始,浙江省将高考科目从 “6选3”,改成 “6+1选3”,这里所指的“+1”就是信息技术(含编程)。

可是,很多家长不免会问:会编程孩子真的就比会玩泥巴的孩子更厉害么?

https://cdn.china-scratch.com/timg/181002/1611325W8-3.jpg

现在我们在外面看到铺天盖地的少儿编程教育广告,多数是拿出政府文件唬人,或者用高考改革制造焦虑,目的无非让家长们在冲动之下趋之若鹜。可是对于大多数家长来说,根本没有好好地思考一下,为什么要让孩子学习编程?

更令人担忧的是,很多培训机构打着“人工智能”的幌子,把某种编程语言作为一门新的兴趣课,过早地抹杀了孩子们的兴趣和创造力。

https://cdn.china-scratch.com/timg/181002/1611321620-4.gif

作为家长,我们更需要冷静思考的是:我们让孩子们学习编程,目的真的只是要教给6-12岁的孩子们一门编程语言而已么?孩子们在编程学习中究竟能够学到什么呢?

https://cdn.china-scratch.com/timg/181002/161132E25-5.gif

编程是用数学的方法解决实际问题,能解决我国目前数学教育中的很多现实问题。

数学无疑是一门基础的重要学科。星爸爸这一代人,小时候曾经花费了很多的精力和时间去学数学,但是我国在数学理论领域却少有国际公认的成就,普通人的数学能力基本上会在毕业后迅速倒退到“算数”水平。这其中,有很大一部分原因是:

我们并没有真正学会使用数学方法、建立数学模型的能力。

例如著名“鸡兔同笼”问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这个在《孙子算经》记载的经典问题,会让许多缺少生活经验的孩子听起来一头雾水。

https://cdn.china-scratch.com/timg/181002/161133B03-6.jpg

现在,我们如果用编程的方式,就可以很方便地建立数学模型,将这道题表达出来,这显然是有助于孩子学习数学的好方法。

https://cdn.china-scratch.com/timg/181002/1611335V0-7.jpg

用Blockly模块化编程工具

在micro:bit上解决“鸡兔同笼”问题

AI时代编程不是刚需,会编程也要与实体世界打交道。

在人工智能时代,互联网、物联网、大数据、云计算、机器学习让大多数人的生活越来越便捷,只有极少数人才需要使用底层的代码与机器打交道。对于大多数普通人说,只需要会玩、会用、善于用这些模块化傻瓜化的工具去实现自己的创意就可以了。

在国内教育领域,这几年炒得火热的STEM(科学、技术、工程、数学)、STEAM(科学、技术、工程、艺术、数学)等理念,住往让中国的家长一脸茫然。

https://cdn.china-scratch.com/timg/181002/1611335b4-8.jpg

在STEAM教育的项目化学习中,需要动用各种材料、工具、开源硬件、3D打印等数字制造设备去解决生活中的问题。而编程,只是其中很小的一部分而已。在这些教育理念中,更关键的是:

让孩子利用工程思维去实施工程过程。

换句话说,就是有头有尾地去做好一件事。

https://cdn.china-scratch.com/timg/181002/1611336059-9.jpg

编程的核心是算法,没有一定数学基础的“玩编程”只能是照葫芦画瓢。

目前市面上大多数编程教育机构使用产品都是以麻省理工学院媒体实验室的Scratch图形化编程工具为蓝本,或是谷歌Blockly平台为核心,把以往枯燥的编程过程,变成拼搭积木模块的方式。

模块的形状、颜色让孩子一目了然,模块之间用不同的“接口”让相互之间的逻辑具象化,错了拼不到一起。不可否认,这确实是家长和孩子喜闻乐见的学习方式。

然而这种积木化的编程工具,只适合作为编程逻辑学习的入门工具,稍微实用一点的程序,都很难用这种编程工具来实现,或者即使实现了,其效率也会很低。

我们常说的编程的算法,指的是用数学的方式去解决问题。如果孩子没有一定的数学基础,是很难理解“算法”的。

比如鸡兔同笼的例子,如果要用数学的方法表达出题目中的条件,就需要懂得“或”、“与”、“非”这些逻辑运算概念。没有数学基础,就理解不了概念。如果只是单纯依照别人搭的积木去搭建程序,是不可能学到编程思维精髓的。

基础教育阶段实用主义化是一种危险倾向。

我们让孩子学编程,目的只是为了拿到大公司的offer而已么?上文提到的编程少女,今年才11岁。或许在几年以后,人们所向往的大公司已经用机器学习代替了人工编程。

在基础教育阶段,应该让孩子具备广阔的知识储备、更活跃的思维能力,而不应该局限在一些为了应试而设置的知识点,或是为就业而设置的技能门槛上。

星爸爸觉得,通过学一种编程语言去获得一家大公司的offer,这至少是比较Low的一种思维方式。

https://cdn.china-scratch.com/timg/181002/16113451R-10.jpg

所以,小编的建议是


1 太小的小朋友,并不需要学编程。


2 学习编程的核心是学会用数学模型解决生活中的问题,积木化的编程学习只是入门。


3 不是所有的孩子都需要学编程,也不是所有的孩子都适合学编程。


4 孩子学习STEAM(科学、技术、工程、艺术、数学跨学科项目)课程,学会用知识和技能实现心中的小小梦想,比机械地学习编程更重要。

--end--

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