欢迎光临散文网 会员登陆 & 注册

【专家访谈】听余老师讲编程

2023-08-06 21:44 作者:明进涂图绘  | 我要投稿

“编程是什么?编程课学什么?学习编程对于孩子将来的发展有什么作用?……”关于编程学习,您是不是也有诸如此类的疑问?一起来听一听深耕编程教学多年的专家老师的解答吧!


几岁的孩子可以开始学习编程了?学习编程需要具备哪些基础的能力呢?

余老师:我们现在针对小学生的编程课已经是蛮抽象的,所以里面会使用到很多的数学计算。从这个角度看,就是小学生应该具备基本的算术能力再开始编程才是比较合适的。加减乘除啊这些观念都比较熟练,通常是三年级开始。如果太小的孩子想要学的话,那建议让老师来测试一下。就是说有的孩子年龄虽然小,但是数学方面的抽象思维能力都已经具备了,那么早一点开始也是可以的。如果是幼儿园学前班的同学要学习编程,建议使用那些面向低龄孩子的编程工具。这些编程工具没有文字,也不会有一些抽象的数学观念,它有的都是一些图形,比如说循环它就画一个圆圈,上面有一个箭头就表示会转圈圈。我知道像美国麻省理工学院就有这样的编程工具,叫Scratch Junior,专门面对这样的孩子。


什么样的孩子比较适合学编程?

余老师所有的孩子都适合。如果说家长意识到了编程学习的意义,我相信他会同意我的。因为编程它其实是一种语言,它叫Programming Language。我们每一个孩子在基础教育阶段,最核心的就是要掌握人类的抽象的思维方式。所以经过上千年的不停地筛选,为什么是语文占据了最核心的地位,因为所有的教育者都认识到,让孩子能够用语言文字去思考这个世界上的万事万物,这是他最基本的能力。这个能力使得他以后就可以做更复杂的事情,第一个Language就是我们的母语。第二个Language就是数学语言。如果这个孩子以后要学习科学,最典型的就是物理,如果你想学习物理,那你要知道物理核心的那些规律,它不是通过自然语言来描述的,而是通过一些数学的公式。因为自然语言实在是太啰嗦了,它想表达那些规律表达不清楚,所以我们才有现代的这些数学符号。为了表达精美的科学思想,所以你要掌握数学的这些语言。

那么第三个阶段就到了,Programming Language就第三种语言。如果你要真正理解我们现在身处的这个人工智能时代,所有的事情是怎么在运转,那你就得对这个语言有基础。这是为了孩子们能够适应我们这个时代的基础教育,所以这种编程语言每个孩子都应该要学。


编程学习主要有哪些内容?

余老师:编程课从各个国家的教学大纲来看,最核心的内容我把它归纳为两点。一是在贯穿整个课程的教育过程中,要讲明白什么是信息。这个词非常抽象,你把这个问题抛给一个成年人,你问他什么是信息,很多人会懵的。虽然说他一直在用这个词,但是他用而不知。我们就是要把这个信息是什么,通过这个课慢慢地展现给孩子。第二就是能够把信息进行各种加工处理,最后用于决策。我们知道我们的大脑就是干这个事。我们的大脑就是通过把各种各样的信息通过眼睛、耳朵接收了很多的信息传进去,然后经过处理,最后来指挥我们的胳膊和腿。所以说这个事情也是我们现在身处的这个人工智能时代,我们最先进的那些科技工业在努力解决的问题。那么编程课教育的核心就是要让孩子们学到的信息是什么,怎么处理它。


学习编程对孩子智力开发有哪些好处?

余老师:我们人类的智力随着人类的进化在不断地进步,后来终于到达了一个阶段:就是我们人类可以通过自己的“魔法咒语”,召唤出十亿个精灵替你工作。那这个是在说什么呢,就在说软件工程师的这些工作,当他们写出一些代码的时候,计算机里面数十亿个晶体管协同工作,一丝不差地完成他指定的目标,这是我们人类过去难以想象的一种魔法。那么它是智力吗?我认为它是最高级的智力。所以说学习编程绝对是最能够促进孩子智力发展的一项学习活动。


机器人和编程学习有些什么差别?

余老师:差别还是蛮大的,因为简单的机器人它是训练孩子们的手眼协调能力,也包括空间的想象能力。但是它还没有延伸到对于一些抽象符号的处理。二者的差别可以用一个具体的实例来说明一下。

就下围棋这个事,有两个孩子,一个孩子呢可能是学机器人的,另外一个孩子呢是学编程,那么他们分别解决什么任务呢?学编程的孩子负责解决这个人工智能AI要把那个子落在哪一个交叉点上,一共有361个交叉点,哪一个点是最有杀伤力的,这个事是要由编程的孩子来解决。他要通过复杂的信息处理,相当于有一个复杂的大脑做各种各样的分析,最后说第二行第三列的这个格子是最佳的。做机器人的这个孩子他可以做一个机器人,这个机器人呢有一个小抓手,马达控制它,它会伸到这个放棋子的盒子里,把这个棋子抓起来,然后将这个机械手移动到编程的孩子算出来的那个坐标位置上,然后放开把它放下去,所以你看二者的区别是什么?一个人解决了核心的计算,把需要的答案算出来了,另一个人用一个比较简单的机械手来完成落子,所以我觉得二者的难度从本质上看差别还是蛮大的

一般年龄小一点的孩子我建议可以做机器人的学习,但通常如果到了三四年级的时候,很多孩子就不满足于那种智力活动了,他需要更加复杂的智力活动才能够激励他成长。


孩子会不会因为学编程迷上了打游戏?

余老师:有很多孩子是因为爱打游戏走入了编程的世界,但是我从来都没有见过一个孩子,特别热爱编程,最后迷上了打游戏就不编程了。这种反向的例子,我一个都没有看见过。因为玩游戏是一种低智商运动,它对智力的挑战是很弱的,它是一种可能让你很放松,有点快感的低智力活动。如果一个人的智力活动,提升到了一种更复杂的水平,就是他喜欢享受一种更复杂的智力活动,你让他还原到低级的过程上面去是不可能的。那么我们需要做的是什么呢?我们就是让那些沉迷于简单快感的孩子,给他提升到一种创造性的活动中去。就比如有一些孩子爱看武侠小说,一本一本地看。那些武侠小说可能就不断地在重复同样的套路,但是他还是会一本一本地看,他就要享受那些武功高强段落的快乐。但是如果一个孩子爱上了写作呢,他的视角就变了,他会说哎呀你这个写得太烂了,我们的故事发展不应该是这样的,这个线索是混乱的。如果他是经常做这样的思考的孩子,他是不会退化到看那些特别简单的武侠小说的,他会有一种批判的眼光,他会有一种创造的能力。那么编程就是这样,我们学编程的孩子会做一些游戏让那些爱打游戏的孩子去打,说“你们玩吧我给你做一个好玩的”,就会有那种创造者的骄傲,成就感就会慢慢地成长出来,所以二者差别我觉得还是很大的。


沉迷于网络游戏的孩子学习编程,是不是有可能改变这种情况?

余老师:这是一个非常让家长痛苦的事,就是沉迷游戏。我碰到过,我在教编程课的时候,有一个妈妈就专门找来了。我认为如果家长介入时间比较晚,通过学习编程就想让孩子放弃沉迷游戏,可能很难达到这个效果。因为编程其实是一种特别复杂的智力活动,那么这个孩子沉迷游戏,他一定也不太会喜欢数学,那种复杂的智力活动他是排斥的,如果这个孩子已经到沉迷游戏的阶段呢,我觉得可能要需要心理咨询师来介入了,通过一种方式调整他,甚至隔绝电子产品啊,就是你要有个专业的一个修正过程。但是很多的家长的判断是不对的,就是说沉迷其实是一种病态,很多孩子只是喜欢。你说哪个孩子会不喜欢游戏呢,很多三四年级孩子都喜欢游戏,那个时候还不叫沉迷。我觉得沉迷基本上要到什么情况就病态了呢,就是严重的影响了他的生活,比如说他不睡觉了,晚上可能熬夜弄,功课全都不弄了,完全没兴趣,只对这个事感兴趣。身体可能也有点病症,因为他不好好吃不好好睡嘛,身体可能有些病症,这就叫做沉迷了。但是一个孩子只是喜欢玩一种游戏,你就说他沉迷,那我觉得就不对,他是好奇心。这个时候是要做一个恰当的引导。所以我要把这个问题呢分成两段来说,如果你们家的孩子只是年龄比较小,充满好奇心的这个阶段,他正在对游戏感兴趣,这个时候你一定要介入,早一点介入。你跟他说啊,有一种更好玩的游戏叫编程,它能做出来特别炫的游戏,这个就是一个特别正向的引导。当他上了这条道,他沉迷游戏的可能性几乎为零。就是一个孩子已经成为一个优秀的导演,他还会天天去看那些下三滥的片子吗?早一点帮助孩子能够达到比较好的效果。


孩子长大以后也不打算从事电脑程序方面的工作,是不是就没有必要学编程了?

余老师:这个问题很多的时候是来自于一些从事专业工作的家长。我就碰到过一个爸爸,他就是做专业软件工程师的。他说哎呀我大学里面学了这么多编程语言后来工作也没派什么用场,还让我的孩子学,为什么要学,还不如学点有用的。那么我就问他一个问题:没派上什么用场,那你怎么能够成为软件工程师呢?我说前两天也有一个家长,他是在一个广告公司写软文的,他说我天天写这些软文真没意思,我以后不让我的孩子学中文了,不让他认字,那你觉得他说的对吗?的确,他现在用的一些学到的文学知识,做的事他可能觉得很低级,那是不是说就让孩子不要学中文呢?这完全是两回事。你的孩子他具备了这个能力,他以后的工作选择面还是很大的,不一定从事跟你现在一样的工作。比如说现代社会你想作为一名的艺术家,你完全不懂人工智能,你怎么能够创造出来跟这个人工智能时代合拍的艺术作品呢?你可能只是创造很古典的艺术作品,只能反映农业时代的人类精神生活了。你怎么知道现在人工智能时代的这些人类精神生活有一些什么特质呢?所以说对于中小学生编程语言的学习,跟未来的职业并没有直接的联系。就像你学中文,你一定以后是写软文的吗?不是啊,你学好中文你做的所有工作都需要。那么去掌握编程语言也是一样的啊,他帮助孩子建立了一种全新的世界观,对我们这个世界能做深入的了解,他以后可以去做法官,也可以做企业家,但是这个时代的基础能力要给孩子


数学不好还能学编程吗?

余老师其实我当时教编程的一个动机,就是要激发孩子的数学兴趣。就是我早年刚刚开始教编程的时候,有几个孩子会认为数学好玩?我认为一个班里面40个孩子,可能只有5个认为数学好好玩,这个推理过程好有趣啊。大多数孩子都认为很无聊,就是你非要让我算我就算,但是他的心思不在这。那么这种状态下他学不好的,因为他不聚焦于这件事情上。但是在编程的世界里面呢,你要控制一个怪物,从一个地堡走到另外一个地堡,你就发现你必须要有精确的计算,你加的数据不对他就走偏了,这个时候你就发现加对了很重要。所以你看孩子小的时候,如果你有机会让他去使用这些数学,他自然会喜欢啊,他发现有用啊!那么他用的越多就越熟练啊,他的计算就越敏锐啊。那我们以前班里面就有一个孩子,他的那个小学考数学总是错一点,永远没有得过100分啊。他妈妈就很头疼,因为班里面其实100分的孩子还是不少的,那么就跟他说你能不能细心一点,他说哎呀我已经很细心了,然后说我知道了,但下次还是忘记,那么就是你没有给他一个机会去训练。后来他玩编程,他一写错,就发现这个怪物又走偏了。那他不想让怪物走偏对吧,他就说哦我得小心一点,我得算对5+6=11啊,走11步。那么这个事弄啊弄啊弄,弄久了嘛他的计算就越来越敏锐了,后来就考100分啊。那个孩子才不到三年级二年级吧,年龄比较小的就是加减法这些事,所以你看这个数学不好的孩子,要不要学编程。我说学编程其实就是想达到这个效果,让你的孩子对数学产生兴趣。当然对于那些学数学好的孩子,他会更加地热爱数学,因为他发现数学不仅是做题的时候有快乐,它还有这么大的威力。编程是一个超级的数学实验室,孩子可以把数学放进去做各种各样的实验,会越来越喜欢,学霸就是这么造就的


孩子年龄偏大了学编程会不会太晚?

余老师:学习是任何时间都不晚的,我们在六十年代的时候,当时说解决文盲的问题,然后那个农村里面的那些几十岁的大人都要来学习中文,那你说你太大了还要不要学习中文啊?当然需要啊,当时很多孩子还当老师教爸爸妈妈。那现在也是这样的,很多中学生学编程不晚,大学生学编程也不晚,甚至很多成年人学编程也不晚。那我就知道美国的NASA宇航局,它有很多工程师。因为编程也是在八十年代后期才开始成为大学的一个专业课,年龄更大一点的一些工程师也不会编程。虽然他可能是另外领域很强的工程师,但是现在因为编程渗透到所有的领域,他就要理解这个事,所以他就来学,所以很多学习的成年人都五六十岁了。我父亲学编程时也已经五十岁了,他后来在一些大学里面给人家教编程,他是后来学的。这个编程课我认为能够对于很多成年人的专业起到好的影响,所以都不晚的。


编程学习的规划方向是怎么样的?能提升哪些方面的能力?

余老师:首先是说编程它是一个核心的课程,在小学阶段,语文数学现在是必修课,我认为如果说一百年内还会有一门必修课出现的话,应该是掌握编程语言,它是孩子智力发展的一个核心的东西。接着说它对于其他学科的促进,就是如果一个孩子,能够灵活地运用编程语言去解决问题,那说明他的抽象思维能力真的是达到一个很高级的阶段。那么在这个过程中,他需要完成数学的建模,就是一个现实的问题。比如说打车软件,过去打车很难,我们希望有一个东西来帮我们。如果你懂得编程,你会怎么做呢?你首先要建立一个数学模型,要把整个上海地图坐标都输入到计算机里面去,然后每一辆车的坐标也要实时地进入到这个系统,然后计算机就快速地算,进行匹配,把顾客跟这个车辆进行匹配。几十万的车,几十万的顾客,怎么样能快速地合理地匹配呢?这就是一个程序要解决的问题。那么在这个过程中,显然你想孩子发展出来的能力,是把他所有学到的学科综合起来的一个能力。你没有数学能力你怎么能够建立模型呢?你建立了模型你才能算啊。所以说学习了编程之后能对他的主科有一个极大的促进作用。尤其是理科像数学呀物理呀这些科目。物理这样的科目很抽象,很多孩子学不好,因为你根本就没有机会做实验。哪个孩子做过抛物线的实验啊?没有,就是翻翻课本。如果你有机会做呢,你会觉得这个事就有趣了啊。其实我们用计算机来做这些物理实验是非常容易的,他们修改各种各样的参数,观察那个变化。所以你看当你掌握了编程后,它就是一个强大的工具。它能促使你学好你在学校的其他科目,我觉得这是它一个极为重要的价值。那么当然从编程本身来说它也有一个升学的价值。我们中国就有一些很重要的比赛,比如说像中国计算机协会办的像信息学奥赛这样的。那么如果说孩子的能力很强,就可以去参加竞赛。我认为可能大多数的孩子达不到这样的水平,虽然说他学了编程能够促进他学校学科的成长,能达到这个效果,但是能够达到竞赛水平的只是一小部分孩子。但是我想说一下这个点,就是有一定比例的孩子可以通过这个高水平的比赛,对他的升学有极大的促进作用,那这个点就说到这就可以了,我相信家长能听明白,不管是中考还是高考都会有促进作用,很多学校是要求这个东西


学到什么程度能参加竞赛?有没有不同难度级别的竞赛?

余老师的确有很多不同难度的比赛,比如说比较有名的,有中国电子学会的一些比赛。然后呢有蓝桥杯,然后就是中国计算机协会的信息学奥赛,那就难度比较大一点。孩子在每一个阶段都能够找到一些比赛,去提升他的兴趣吧。因为孩子有的时候也需要一些激励嘛。年龄小一点的时候学习图形化编程就可以参加一下电子学会或者蓝桥杯的比赛,叫Scratch图形化编程的一些比赛,但是一年我觉得这种比赛选择一个就够了,不要参加很多。这些比赛我觉得家长慎重选择,就是有的家长太在乎比赛了,其实比赛太多会打乱孩子的学习节奏,因为你总是要去针对这个比赛做训练,那么你就会脱离开一个正常的教学计划。如果说你是在意孩子一个长期发展的话,你要有个长期规划,把他的时间都用到值得的地方,不要去迎合很多的比赛,最后你可能整个学习不够系统。有很多比赛每个阶段都有,慎重选择能够达到好的效果


有没有带过的学生有这方面成功经验的?

余老师很多,因为他们的比赛难度并不是很大的,只要你把它的往届的那些真题多做几套,如果你的孩子之前有一个系统的学习,然后你再针对这个比赛的题型做一个训练,基本上都能拿一些奖。差一点二等奖三等奖,一等奖都有很多,一大批孩子,但是相对来说我更看重那个高难度的那个比赛。如果从教育的角度来说我更看重高考吧,我最后是希望你在那个阶段能够绽放,那么你前面都要有很长阶段的铺垫。信息学奥赛我们也有孩子进入到国家集训队,被清华大学在高二就保送进去,也有这样的孩子。但是我想这个事情因为它难度很大,可能很多家长不是太了解这个比赛,它跟数学奥林匹克竞赛难度是一样的,那么你想有几个孩子能参加数学奥林匹克竞赛?在高中阶段能拿到奖那还是比较少的。所以这个事情前期要很耐心,小学阶段的兴趣培养使得他这个根比较深,他对编程的兴趣是很浓厚的,然后慢慢慢慢使得他能力提升上去。我觉得家长要有一个长期主义的观点来看待这个事情,不要说孩子都高一了来找我,马上冲一冲拿个比赛,我不是神仙,我觉得我没有这个能力。编程之前完全没有基础,然后现在就要冲一下就拿一个高难度的信息学奥赛的一等奖,没有这个可能性。那你数学学了多少年,你为了拿一个数学的奥林匹克奖从一年级就开始学。比如说你英语拿奖你要学多少年?如果一个孩子说我高一了,我没有听说过英语,我现在马上就要冲一冲,我要拿一个英语的演讲比赛大奖啊,你想有几个老师有这个能力呢?所以一定要坚持长期主义观点,编程学习是非常系统的,它是一个非常大的体系,要特别严肃地认真地来看待它,不要把它当成是一个小玩意儿,它不是


比赛对升学有加分的帮助吗?

余老师如果是小升初的话,可能其他比赛都有作用。就是一些初中学校他们也看,你就说你是科技特长,那比如说你做个机器人什么的他也认可,当然如果说你是有编程比如说蓝桥杯啊,或者是电子学会一些比赛证书,也可以说明问题。但是这些证书因为现在社会上很多,小升初这个标准还放得宽一点,越往上它的标准就拉得越高,那到高考的时候那可能很多证书都不太看重了。就我知道的在编程领域,在高考阶段基本上只有信息学奥赛才会有说服力,其他的比赛可能不是太有说服力。那么这个编程比赛到大学还是有的,大学有ACM。那么这个如果你在大学阶段编程比赛拿奖会有什么用吗?有用啊,像腾讯阿里,他们来学校里招人。你说我大学期间参加这个ACM拿过奖,第一轮免试直接进入第二轮,很看重这个的,还有面向成人工程师的编程比赛。从小学初中高中大学一直到你成年都有很多比赛。


学编程到了一定的程度后,可能会有一些畏难抵触的情绪。如何能够提高孩子的学习兴趣?鼓励继续坚持。

余老师:特别反面的就是拔苗助长,如果你把一个小苗使劲往上拔,他大概率在两年之后就要断掉,他就不想弄这个事了,那是为什么呢?他兴趣的根扎得不深啊,他对这个事没有那么大的兴趣,只是你推着他走。哎呀小升初了你去努把力,哎呀马上中考了,他就这么被你推着走,他都不知道这个事情本身有什么巨大的乐趣,有什么巨大的意义,他完全没感觉到,这样就是失败了啊。因为最近也有很多人说到这个,一些最好的学校学生退学的事。比如说你到了清华北大,有没有孩子退学?有,他们厌学很严重啊,尤其是一些基础学科,数学学到后头发现原来这么难啊。是,你以为进了北大算什么,你才刚开始呢,数学的大门原来这么浩瀚。如果没有那么大的兴趣,一开始只是被家长推着往前跑,然后一下就厌学了,那你说你这样对孩子好吗?他有很强的挫败感,所以说我觉得教育最重要的就是要有长期主义的观点,那么这个阶段怎么控制好?就是说你学编程第一个阶段,我们叫他基础阶段,也叫兴趣培养阶段,通常都是用图形化编程工具来教孩子,不使用代码语言、英文、C++呀,Python那些用英文做coding的都不做,我们就是用图形化编程。但是这个阶段你必须要根要打得够深,要让他知道,用编程做出很多充满着智力意味的东西,这个一定要让他体会到。所以课程要足够深,有一些图形化编程弄得太浅,然后孩子稍微年龄一大了就觉得没意思。其实图形化变成是可以做特别复杂的事啊,我们可以做出能下围棋的人工智能程序,如果你让孩子能够感受到这种力量,那么他对编程的那种喜欢、那种崇拜、那种推崇就很深,然后等到他年龄慢慢大一点的时候,你让他使用更专业的编程工具,然后开始一些更专业的编程,那么他就能坚持下来,因为他对这个喜欢程度达到一定的强度了。如果你一开始就没有扎实的根基,然后后面又不断地上难度,那他这个就立不住了,这拔苗助长,那个根不够深就倒了嘛。这个我觉得一般的教育工作者都是知道这一点,所以所有的启蒙我觉得都是很重要的,把这个根系搞得发达一点。


对编程学习不大了解,也不知道孩子会不会喜欢,能试试看吗?

余老师:我们有面向孩子的试听课程,随时欢迎大家,你可以扫码试听活动二维码预约,或在评论区留言,这样方便我们找到你。


【专家访谈】听余老师讲编程的评论 (共 条)

分享到微博请遵守国家法律