孩子为什么要学编程?
8月11日晚,在蠹鱼阅读、北京爱心树文化有限公司及各实体书店社群主办的“陪伴计划”2021年第12期直播分享会上,我们邀请到了余宙华老师,为全国100余个书店读者群的3万余名读者带来了“为什么孩子要学编程 ”主题分享。
分享会内容回顾
各位家长朋友们大家好,我是DK《编程真好玩》这本书的译者,余宙华。今天我跟大家一起分享的是关于孩子学编程这个主题,在开始之前,我简单做个自我介绍,我是一直在IT领域工作,88年到浙江大学学的是计算机专业,92年在北京大学也是学习计算机相关专业,说到后面从事少儿编程教育的工作的原因,其实是要从我儿子说起。
2010年,我儿子还是小学生,特别喜欢玩游戏,当时痴迷于一个游戏,叫“赛尔号”,以至于他连动画片都不看了,他会来跟我谈判说:“爸爸,我可不可以把看动画片的时间折算成玩游戏?”我当时就在想,孩子在这个年纪对游戏的喜爱是出于好奇心旺盛,其实是很容易转换成学习的兴趣的。同时,因为我自己是做编程领域的工作的,对程序有极大的热情,所以我就想让儿子在这个过程中去感受到编程的力量和创造出的巨大的成就感,激发他对所有学科,乃至这个世界的兴趣,我决定去引导他。
一开始碰了很多钉子,为了让他体会编程的神奇之处,我用C++这个语言去教他,这个语言需要用英文代码来写程序的,一上来就有很多单词,比如主程序“main”,每个地方都是英文单词,我儿子就记不住,虽然他发现修改一些参数可以带来很神奇的变化,但是记英文单词对他来讲有点难,所以很快就失去兴趣了,第一次尝试就失败了。
这个话题其实就是和孩子学习编程的路径有关的,今天的主题有两个,一个是为什么要让孩子学编程,一个是如何才能学好编程。
那么在第一次让儿子学习编程的尝试失败以后,我开始网上寻找各种适合孩子学习的编程,就找到了Scratch,这也是我翻译的第一本《DK编程真好玩:6岁开始学Scratch》这本书里面用到的编程语言,是由美国麻省理工学院推出的,把传统的英文代码书写程序的方法改成了积木块拼接似的编程方法,每一个指令都用孩子能看得懂的母语标注在积木块上。比如你是中国人,它就会写着“求...的余数”,这样就不会理解错误,而且不需要孩子去写逗号、句号,只需要把符合逻辑的积木块拼接好就可以,我发现这个工具特别棒,就开始用Scratch去教他,从此,我就走上了少儿编程教育的路,一走就是10年。
我很早就在小学教课了,之前教我儿子就感觉小孩学习编程是件特别难的事儿,必须全身心地去研究,怎么去设计里面的课程才能效果好,否则孩子们就会浅尝辄止,说不好还会打消了孩子学习编程的兴趣。所以我当时是全职去教课,在北京的育才学校,期间和很多家长交流,他们都有一个疑问:“学校的主修课已经很多了,语数外的压力之外,为什么还要学一个编程?”
这个问题的答案,大家现在可以在网上看到很多,比如培养想象力、逻辑思维能力、创造力...我统计了一下,大概有15~20个的这种“能力”,我认为这些说法还不是本质,所以后面在交流中我都用一种特别简单的方法来解释为什么要学编程。下面我和大家一起分享一下我的理解。
孩子在小学阶段的学习,其实是在学习一种人类最重要的工具,也是最核心的课程,就是思维的符号体系——“语言”,第一,当然是中文,只有把中文学好,才能给万事万物恰当地贴上标签,理解它们之间的关系。第二重要的功课是数学,很多家长可能不知道,数学也是一种通用语言。它是一门人类用来描述科学的语言,是人类进入工业文明的时候诞生的第二大通用的符号体系,第二语言。所以小朋友们要学习掌握这些基本语言工具,为他们以后更加广泛、深入的学习打下基础,建立基本的思维结构。
编程语言是人类第三语言,对应的是人类进入人工智能时代的语言,通过学习这种语言,孩子们会有一个全新的表达方法,这种语言会让他表达所有领域的思想,而不仅仅是解一些数学题。
所以孩子学习编程,也就是说掌握第三语言,提升思维结构是十分重要的。随着当前人工智能发展得非常快,编程将会成为孩子的基本人文素质。很多国家也把编程放在了基础教育里,比如英国这样的强国,在小学一年级就开始做启蒙教育了,我翻译的这本书就是英国DK出版社的,有兴趣的家长可以了解下,它里面讲了8个游戏作品,教孩子用Scratch来完成,来理解什么叫“顺序执行”,什么叫“循环”,什么叫“条件分支”,什么叫“变量”等等程序的最基本的观念。
那么第三语言是不是只是做一些游戏呢?当然不是的,它仅仅只是一个开始。对于孩子来讲,用游戏开始是特别合适的,非常符合他们的兴趣。比如他们日常都会玩一些游戏,当他发现自己可以做一个游戏出来的时候,那种探索的欲望就被激发出来了。当年我儿子就是这样,当他做出第一个愤怒的小鸟这个游戏的时候,他非常兴奋。事实上,这里面用到很多数学的知识、程序的知识,他会不知不觉地体会到这些学科的作用、力量和魔力,也就激发了他对这些学科的兴趣。
现场互动
互动问题1:
请问老师,我很想了解编程。编程适合几岁开始学合适呢?要学多久?会对以后学习生活产生什么样的影响呢?
余宙华老师回答:
关于孩子从几岁开始学习编程,我只能以平均线的方式来说,三年级是一个比较好的开始的时间,因为这个时候孩子已经对数学的认知达到一定的程度,这三种语言,第一种自然语言,第二种数学语言,第三种编程语言,他们是阶梯性的往前走,所以在具备一定的数学认知以后开始编程,是恰当的。
编程对他以后的成长学习生活有没有深入的影响?首先它能够使得孩子建立起第三语言的这种思维模式,对他所有的工作都会产生根本性的影响。如果他懂编程,他可能会用一种模型化的方法解决他在工作中遇到的问题。我现在碰到很多我朋友的孩子都读大学了,他们翻过头说,唉呀我想学一学编程,因为他在做金融等领域,他想做一些模型的分析,可是一点编程都不懂,就有点为难了。
编程对孩子的求职也有根本性的影响,因为各位家长还是很在意有真正的效果,如果你的孩子在编程方面具备能力的话,他会找到很好的工作。比如说像去腾讯公司这样,平均薪水非常的高,达到七八万平均月薪,为什么?那都是因为会编程。
互动问题2:
编程对于有点基础的学生是否可以自学?主要是想锻炼孩子的思维思考能力,要参加专业的培训和考级吗?
余宙华老师回答:
编程当然是可以自学的,如果说孩子非常自律,兴趣又很强,那么家长可以买一些书啊等等,他也可以在互联网上找到很多免费的资源,我觉得是可以自学的。
但是这个跟孩子的年龄就有很大关系。如果你的孩子是小学生,在起步阶段的自学是比较难的,我们去想象一个孩子走路嘛。一开始走的时候总是要人扶着点是吧?等你摇摇晃晃的能走起来了,那慢慢的你自己练着走就没问题了。所以说我建议在早期阶段应该是由老师来带,把他带到具备一定编程的素养了,比如说可以独立写一个排序算法了,冒泡排序或者二分查找算法,可以很自由很流畅的能写出来,再去自学,我觉得会更好。
至于说专业的考级这个事情,我是这么看的,我觉得可以去参加一下。如果说这个孩子想要检验一下自己的学习成果,那么你就选择几个你认为比较靠谱的,让孩子参加一下,但是呢也不要参加的太多,因为这个其实并不是关键,关键还是孩子的编程水平能够真正的获得提高。因为所有的考级都是有套路的。那些题都是一种固定的模式,你可以通过有针对性的练习去获得一个好成绩,但是如果你总是去针对这些考试去学习,那么对你的编程其实并没有太大的好处,我觉得可以选一两个名声比较好的去考一下。
互动问题3:
6岁刚上一年级开始给娃报了机器人课,让娃接触一些组装和编程思维,后来娃就特别喜欢编程。DK出版的scratch和python这两本娃自己全看完了,在机构里一直在学机器人,虽然涉及到一些编程但不系统,同时书籍里看到的也只是理论多一点。数学这块娃也很有兴趣,喜欢钻研,能举一反三,尝试各种方法解题。我也买了很多数学类的绘本来引导娃的兴趣。这里想请教一下老师,针对娃的情况,后续如何安排娃的编程学习,能否走信奥这条路?
余宙华老师回答:
我其实特别看重编程能够让孩子的思维活跃起来,使孩子爱上思维这件事情。你知道有的人特别喜欢做烧脑的事儿,就是脑力高速的旋转起来,会给他带来巨大的快乐,那编程就能够在孩子的成长过程中起到这样的作用。如果一个喜欢孩子喜欢编程,那么他一定是特别喜欢动脑子的。
既然这位家长的孩子如此的喜欢编程,你当然可以给他安排走信息学奥赛的这条路,但是一定要规划的好,而且不要拔苗助长,不要在太早的时候说赶快先打比赛,别着急。他现在才6岁,我觉得非常的小,我教过的孩子里面有从6岁开始学的,但是6岁的孩子我都是要做测试的,就是我真的看到了你这个孩子是比较早慧的,家庭教育也做得比较早,他具备这样的能力了,我才会接收这样的孩子。
之后如果说他的进展比较快,也可以在小学高年级阶段转入代码式编程,就是开始写代码了,然后初中阶段去尝试,掌握代码的语言,掌握基本的算法。参加信奥需要的,就是一定要长远规划,不要着急出成绩。如果这个孩子他能够做像大家都会玩的一个游戏叫扫雷,如果他会能够做这样的程序了,切换到代码编程语言会非常顺利,超级快。
互动问题4:
编程,对于我们这些普通家庭来说,是比较陌生、高大上的概念。家长不懂这些,如何更好的引导孩子?如何把编程思维融入到日常的生活中?
余宙华老师回答:
关于在日常生活中使用某某思维,这种事其实是不容易做到的。因为小朋友的世界就是一个游戏的世界,你要在日常生活中使用某种高大上的思维,这是很难的,但是恰恰来说编程在这方面独具优势。
比如说我刚才在分享中提到的例子,一个老师他要搬家,他说我搬到哪里去,然后所有的同学经过讨论说,总距离最小的位置是最好的,怎么来把这个位置在地图上标出来呢,我们用程序来解决,这是我们小学生都能够完成的程序。他要跟生活紧密结合,而且要把程序写出来,那是完整的编程思维的体现。
现在社会上有一些说法,说培养编程思维,并不一定要去写程序,我们在日常生活中做事情也能够培养编程思维,笼统的来说,这样说也没错,但我不赞成这样说。这就好比你说要学习音乐,但你又不想碰任何的乐器,只要在生活中去体会音乐就行。那你为什么不直接去接触乐器,看看一些简单的谱子,然后练习,不是才能够真正懂得音乐吗?所以在生活中去使用编程思维最好的方法,还是让孩子能够写程序,用程序真正的去解决它,比如说是校园选址,比如说是帮助木匠做一个箱子的问题等等。
互动问题5:
女孩子适合学编程吗?几岁开始比较好?如何培养她对编程的兴趣?
余宙华老师回答:
女孩子当然适合学习编程。去学习一个人类的第三语言,难道要把女孩子隔离在外面吗?当然不是。而且女孩子在历史上编程能力是超级强的,世界上第一个用程序去理解世界的人,是一位女士,她的名字叫Ada,她被认为是世界上第一个真正的程序员。
而且女生以后会从事很多智力方面的工作,很多智力的工作都会需要程序来解决这些难题。那么女孩子学编程,尤其是在一开始,用图形化编程工具,会做一些女生感兴趣的东西,比如说一些换装游戏等等。你可以选择一些女孩子感兴趣的内容让她学习,当然到后期,她都会慢慢进入到算法这个世界。
(以上文字节选自余宙华“为什么孩子要学编程”分享会)