5位工程师爸妈的“大白话”:让小孩学编程到底有多大必要?
檩子:我在很多场合听到过这么一个说法:未来,编程和英语会一样重要,都是孩子在这个世界上生存所必备的基础技能。
最近几年,儿童编程在国内也越来越热。不过这个问题对我们大多数人来说,还是挺新鲜和陌生的,比如:要不要学?什么时候开始学?怎么学... 哎,又多了一层教育焦虑 ...
不过,专业从事编程的花友@1210b发现一个“有趣”的现象:自己搞编程的好像都不急着给娃学编程 ...
我是计算机专业的,身边同事都从事编程工作十年以上了,我统计了下身边的朋友圈,自己搞编程都不急着给娃学,急着学的不少家长是城外的。
看到朋友圈不少在说幼儿 (学前) 编程的,就在办公室问了几个同事, 有的孩子已经小高或初中了,她们都说没教孩子这些...
不少花友说,真的很想听听自己就在做程序员的爸爸妈妈们是怎么想的,所以今天我们邀请了6位资深工程师爸妈来聊聊对这个问题的看法,和我们分享他们的”一线大白话“!
1、学编程是否必要?
这个问题,大家最关心!不过工程师爸妈的解答角度不同,观点不同...
有必要!未来世界,孩子不仅需要学会如何使用机器,更要学会如何与机器交流!
花友@Sweetie妈咪
队友在大信息领域工作,编程是日常
虽然孩子还不到3岁,但对于学编程这件事情,我们的观点是:学coding不是必不必要,而是必需!
为什么要学?想要知道未来世界的样子么?那就看看最聪明的人都在做什么,看看硅谷,这就是未来的雏形!谷歌正在利用搜索引擎改善他的人工智能,而不是相反。
未来就是人类和机器协助共存的时代,你的收入就高低取决于你和机器配合的默契程度,而代码就是人类同机器/电子设备/电脑/虚拟设备/云「设备」互动的方式,是人机对话的语言!如果不懂如何交流!
Ipad,手机就是最简单的机器,每一次touch就是在和机器互动,只不过coding是将这种互动语言话了!孩子不仅需要学会如何使用机器,更要学会如何与机器交流!
孩子学会流利的使用代码,不仅可以利用它去表达想法,建立与他人的联系,也可以用它来联系外部世界「比如设计不同功能的机器人、建立视觉、听觉互动」。
正如Mitchel Resnick「MIT Media Lab」在TED演讲Let’s teach kids to code中提到:
孩子不仅是“learning to code”、也是“coding to learn.”,就像读写能力一样,学会了读写能力会学习更多!
具体问题具体分析...
花友@琥珀小夜曲
夫妻二人都在IT行业工作,孩子6岁
以下是码农爸爸的看法:大前提,只从家长的视角出发,不考虑孩子的兴趣,那么需要考虑的问题如下:
1、精力、财力是否允许?
如果不允许,请直接放弃学编程。
如果允许,但有点紧凑或涉及到取舍,跳到第2个问题。
如果允许,并且可支配空间很大,跳到第3个问题。
2、是否有比编程更值得投入的领域?
这个问题想必每家考虑的方面各有千秋,从我的经验来看,基础学科更重要,比如数学、英语等。计算机编程只是人思维意识的一种表现形态,或者说只是种工具,它的优先级不应该比基础学科高。
如果同意我的观点,或持肯定观点,请直接放弃学编程。
如果不同意我的观点,或持否定观点,跳到第3个问题。
3、让孩子学编程的最终目的是什么?
让孩子达成他们广告宣传的各种能力?跳到第4个问题。
让孩子未来在这个领域从业?跳到第5个问题。
4、孩子的能力如何培养?
除了基础学科的理论学习,其他诸如编程鼓吹的各种能力,其实在孩子日常的生活、玩耍、阅读等行为中都会接触到,比如生活中无处不在的日常规律,七巧板和棋牌类游戏等,以及从各类书籍中获取的知识、更何况现在谁家的孩子在外边没几个兴趣班呢。如果你确实觉得孩子平时锻炼的不够,需要加强,那么试下编程也是一种选择。
5、未来这个领域的从业前景如何?
毕竟还只是个孩子,未来十几二十年的事情预测了也没什么太大意义,单从现在看,如果给我两份成绩相仿的应届生简历,一个学计算机的,一个学数学的,那么如果有编程这个岗位我会优先选择学数学的,因为编程的语言和工具有很多,而且还在持续扩充,但最终都离不开基础数学和逻辑思维能力,高分的数学系毕业生是不会差的。
另外就如第2点说的,编程只是人思维意识的一种表现形态,随着AI技术的发展,未来很多工作都会被人工智能取代,靠手敲代码这工作,想想就是被优先淘汰的职业,在未来,说出你的想法,你想要的程序就被自动开发出来了,但如果你连想法都没有,再强的技术也无法帮你达到目的,所以个人觉得这条路不是最优的。
2、都说编程能提高孩子的思维能力,是这样么?
思维能力对编程很重要,但是,编程并不是练习思维方式唯一的途径!
花友@王小嫚
职业女程序员,女儿10岁
目前,我家没有报乐高以及编程班。倒不是对编程有什么看法,只是就是这样而已。
我也没有在家给开小灶,只是买过一套乐高wedo2.0。说实话,用惯了编程语言,这种被包装的图形化编程,我也会一时转不过弯来。需要有个熟悉的过程!但是只要稍微摸索一下,掌握起来倒是很快。
其实学编程跟学说话是一个道理,重要的是想表达什么,其次才是组织语言!
在这里,(编程)语言是思想表达的一种工具,英语,法语,西班牙语,对应着,C,JAVA,Phython !所以,学编程语言无所谓哪种好或者不好。跟我们说的语言一样就是语法,词汇(函数,模块)的差别!也就是,先会英语然后学法语,比先学日语再学法语能相对容易上手的差别!
编程,最重要的是思维方式,我们每个人都会说话,但是不代表我们都“会”说话,不是吗?读书时,班里有的同学就是对写程序觉得很头大,很大原因就在于思维方式的习惯问题!一个人的思维方式是有套路的,就像有人写字习惯右手,有的习惯左手一个道理,但是习惯可以培养,这就是学编程的意义!
但是,注意,编程并不是练习思维方式唯一的途径!
我喜欢写代码,当点“运行”后,代码按照你的预定执行的时候,十分有成就感,但是,我是在大学才开始接触编程,我个人觉得我的数学还可以,如果总结一下我的学生生涯,我的思维训练得益于数学的学习!我的记性不太好,各种公式定理,我习惯自己推导一遍,推导的过程,就包括严谨的逻辑推理。
再说少儿编程,其实对孩子思维能力的提高,作用有限
花友@Breadwalk
世界五百强工程师
编程我个人认为,少儿编程对于孩子思维能力的提高,作用有限。
编程最重要的,不是语言,而是算法和架构,而算法性的问题,归根结底都是数学逻辑,编程只是展现解决方案的手段和方式,是逻辑驱动编程而不是本末倒置。
数学思维好的同学,其代码的执行效率也是非常突出的。当然,对计算机的体系结构要有一定的理解。关于算法的重要性,推荐一本入门读物《编程之美》。如果我们希望通过某个课程训练孩子的逻辑,我认为,数学,而不是少儿编程,才是首选。
从身边的样本看,同事娃参加少儿编程的,大多已经退出。纯软的课程项目,都是通过积木式编程入门,结构设计相对简单,难以持续调动孩子的热情;而涉及到软硬结合的课程,复杂性和专业程度、性价比又不如初级的嵌入式,只是在外面套上一层漂亮的封装。
如何设计一套符合孩子认知和能力的课程,同时又能满足程序猿爸爸们的口味,看来并非简单的事。
3、通过学编程,孩子能提高哪些能力?
专注力,意志力,逻辑能力,抽象与设计的能力,协作的能力....
花友@Breadwalk
世界500强工程师,孩子2岁
专注力
有过编程经历的爸爸妈妈都知道,写程序不是一蹴而就的美差,伴随着设计、调试、优化,需要高度的专注力...
逻辑能力
这里的逻辑能力不是指智商,而是思维的条理性和缜密性,从我有限的了解看,目前少儿编程主要是面向过程+事件驱动,也就是说孩子需要预先设计和规划好流程,比如精确的方位移动。过程设计锻炼孩子思维的条理性,而事件应对和异常处理则是锻炼思维的缜密性。
抽象与设计的能力
一个好的作品,不一定复杂,但一定有很好的设计,具体来说就是模块化、接口、分层等。这就像我们画画一样。首先确定一个主题,然后设定布局,接着描绘轮廓,最后填充,使之丰满...
协作的意识
除了课外实践,在课堂上孩子相互合作的机会是不多的。而编程提供很好的契机。
当编程入门后,慢慢地就会接触到越来越大的程序设计题,而孩子也会从成就感里产生更多的想法。这时就产生合作的需要:挑战更大的主题,把大作品分解为多个模块,各自完成,相互配合
...
4、学编程需要孩子具备哪些基础认知?
花友@琥珀小夜曲
夫妻二人都在IT行业工作,孩子6岁
编程需要数学思维,数学思维是编程的基础。
不知道有多少家长是奔着广告宣传那样为了实现“思考力”、“创造力”、“数学思维”、“逻辑思维”而被打动的。那么我要告诉你,摆积木、过家家、玩泥巴、满院子疯跑同样能够实现。
言归正传,单纯想学编程,家长应该考虑什么呢?
1.数学能力。任何一个计算机语言都是建立在数学基础上的。家长可以在日常中观察孩子的是否具备基本数学能力。
鉴于我家娃还是学前阶段,举简单的例子吧:进制概念的理解。
在没有大人教过的情况下,自己能不能数出来10以后的数?
100以后呢?1000,10000以后呢?如果孩子把1000说成10个100,100说成10个10,那就
说明孩子自己通过归纳总结得出了十进制的概念,他们也许不明白十进制是个什么东西,但他们从具象数字中掌握了十进制的原理,并且自行加以运用了。
在掌握了十进制原理之后,家长可以讲解二进制了,再观察孩子能否将十进制转化成二进制?然后二进制与十进制相互转化。
这套动作考察了孩子的抽象思维、归纳总结、举一反三的能力,这些能力都是学好数学应具备的,当然不仅限于这三种能力。能力远比知识本身重要,永远。
2.英文读识写的能力
计算机语言都是用英文书写,编程就是给计算机的指令,看似简单的指令但表达的含义却是抽象,这不单但对学科英语水平要求较高,对综合通识能力的抽象英文表达更是考验。
3.对计算机的了解
想学编程,就要跟计算机打交道。如果孩子对计算机本身都提不起兴趣,谈何让他通过编程跟计算机进行交流呢?比如我家娃,小手根本握不住鼠标,中指食指还不能足够分开的去单击左右键,最基本的操作都做不了,他对计算机真是没什么兴趣,直接pass。
4.对世界的通识认知
编程需要全科知识作基础,对世界的通识能力决定了编程能力的高低。像我家这种学前娃对具象事物还没弄明白怎么回事儿,让他进入抽象世界学习,光是想想就知道不可能。即便按照老师教的步骤一步步也能做出来,那跟照葫芦画瓢也没什么区别。个人觉得对世界的通识能力由具象到抽象本就是个漫长的过程,对孩子来说积累是目前的首要任务。
5、学了六年编程的孩子,有啥收获?
在孩子有兴趣的基础上坚持学,确实有帮助,和数学互相促进...
花友@懒~猫猫
孩子学了6年编程
我家从2013年开始学乐高机器人的,当时孩子才小学一年级。学机器人纯属兴趣娱乐,家里有三盒机器人,但只会按图搭建,下载程序,不会即兴发挥创造自己的作品。所以就报了个班,一学就是六年,说实话没有一个人陪我们一起坚持下来。
兴趣使然,学了NXT,又学EV3。收获肯定是有的,练就了编程思维与逻辑思维,提高了数学成绩(数学老师总是夸奖孩子,说他是班里逻辑条理最清晰的孩子)。
孩子刚上小学时,数学成绩一般般,班中一堆满分,但总没我家,数学上老是扣上几分,我也闹心了两年。慢慢的,到了三年级之后,孩子的数学成绩就开始显露头角了,到后来在整个年级中也小有名气了。
记得五年级期末考试中有一道题比较难。题目问,在一个平行四边形中,取最大面积的三角形能有多少个?A一个,B两个,C无数个。孩子回家就考我,我觉得也就两个吧,对角线一连,整好俩。
又被儿子嘲笑了一番,并告诉我等底等高的三角形有无数个。仔细想想还真的是。过几天期末成绩出来了,全年级六个班,只有他一个满分💯!孩子们几乎都错了这道题。数学老师说这道题一是考概念理解程度,二是考图形思维能力。还一直夸奖孩子逻辑思维能力强,说是她的得力门生!
增强动手能力也是一方面吧,还有团队合作能力。但感觉在提升创造力方面,我家并没有明显的效果,还有另一个就是提高了英语成绩,因为儿子现在自学的编程语言都是英文的,不学英语看不懂。其它的收获,我觉得在短期是显现不出来的。
相关阅读:
感谢订阅 “小花生网”
和你分享世界上先进的教育资源和方法
周一:英文原版新书开团
周二:话说思维和方法
周三:怎么阅读,怎么学英语
周四、五:教育思考和实践
周六、日:美好生活画报、热点讨论