查看原文
其他

认真脸,无广告:少儿编程到底要不要学?

k妈&k爸 小土大橙子 2022-10-02

小土叨叨:昨天晚上到贵州了,路上还挺顺利的。今天这篇说说编程要不要学,这个主题好多人问,去年就立了flag要发,新年伊始,一点点填坑。

【利益声明】收到过很多编程推广邀约,试听过几家编程课,但还没给娃报大课,本篇无任何赞助。 

先来个小测试,你拿出手机,输入关键词“编程”,看看收到过多少条编程广告?一开始我搜出了3条,后来点右边的“显示全部”,出来好多屏,拉都拉不到底!


我在工作室里问小伙伴们有没有收到过,没想到没有一个逃脱的,就连娃才1岁多的都有,“尾号XXXX的家长,您已获赠价值xxx的编程课”。

大家对编程的看法,也是比较有代表性的:

90后妈妈潘潘说:“编程哈,经常看到铺天盖地的广告,而且营销电话太厉害了,搞得我反而有点反感,生怕又被当韭菜收割了。”


花花说:“编程可能好是好,但是我语数外学科类的都来不及搞完,编程又那么费眼,费妈的,还是晚几年再说吧......”


插画师小雅说:“编程对我来说有点难,我以前朋友家里有人懂这行,从小就培养,还砸了不少钱,我这种完全不懂的,就不费这个事了......”


我是读研的时候学的编程,当年用的C#,算法什么的花过不少时间,不过毕竟时隔多年手生,所以这篇是向资深程序员家庭约稿的,从他们的角度来谈谈他们对编程的理解和规划,希望给大家一些启发。


少儿编程到底要不要学?
作者:k妈&k爸
家有两个男孩

夫妻都毕业于上海交大
K爸交大计算机系毕业
就职于Top互联网公司
玩票参加过国际ACM大赛
拿到过对应银牌成绩
平时爱玩桌游

大家好,我和先生都毕业于上海交通大学,工科专业。先生是计算机系,算是十几年如一日的资深码农,虽然两个男孩的家庭常常处于鄙视链最底端,当妈的经常被各种调皮捣蛋折磨的伤神费脑,但我家先生还是挺乐观地憧憬着有一天,可以带着俩儿子一起联机游戏冲关打怪......

我家的配置是:职场外娃两头忙的妈妈 + “报班全剧终”的抠门爸爸,不过在编程这件事情上,总算经过多轮讨论,形成了比较统一的意见。

有兴趣的朋友,可以听听我家结合家长自身专业背景和小朋友的亲身尝试,摸索下来的心得,这中间确实是不断修正自己认知的过程。

套用很多营销的话术,少儿编程确实是近几年市场上大热的风口,不管是各路巨头还是小玩家,都在拼命往这个赛道上涌:

“21世纪的通用语言”
“未来必须掌握的一项技能”
“人工智能时代的必备技能”......

林林总总,虽然有制造焦虑的嫌疑,但是我们自己这代人确实是享受到了这个红利的,我们还是认可编程是新时代值得掌握的技能的,从国家的导向来看,也有这个指挥棒倾向。

最近教育部已经正式在官网回复,将编程纳入中小学相关课程了,还一度冲上微博热搜。

但问题来了,是个好技能,国家也倡导,是不是就一定要学呢?幼儿园要开始吗?

想清楚这个问题之前,我们不妨先理清自己的思路,把下面这些问题了解清楚,再结合自家小朋友的特长,规划是否学习编程,以及合适的学习道路。

  • 编程到底是什么,市面上分为哪几类课程?
  • 哪些人适合学编程?
  • 不同年龄段,编程要怎么学?
  • 有哪些编程语言可以选择?
  • 学编程有哪些好处,目前的选拔出口有哪些?
  • 市面上哪些不错的资源?

01
编程是什么
市面上分哪几类课程

专业一点讲,编程是一个人类与计算机独立交互的一种方式,打个通俗一点小朋友也听得懂的比方,编程就是跟计算机说话,让计算机可以听懂你的“指挥”,去做你想让它做的“事情”。

根据是否使用到硬件,我们又可以大致把市面上的编程课程分为两大类

第一种是我们常听说的机器人编程

魔都比较常见的是乐高EV3以及国内能力风暴Ablilix平台。我家老大一年级的时候在棋类和机器人课程中,自己选择报了一年乐高的机器人课程。

乐高EV3 (图片来源于网络)

每次课程大概1个半小时,一般是4-6人的小班化教学,每次上课会有一个搭建的主题,启蒙阶段会接触到传动装置,基础传感器等。

每次上课,老师常常需要花比较多的时间先引导本次主题课的搭建,这之后才有半个小时左右讲解软件模块的运用,最后把调试好的程序下载到主机里,完成作品。
线下机器人课程的一些作品

一年级启蒙班结束后,老师除了介绍后续提高班的课程设置以外,还有开始推荐我们参加一些赛事,名曰以考代练,当时我也曾回家认真做了一轮功课。

下面这些还算是被认可的一些知名赛事,很多体制外的学生会组队为爬藤做准备。

  • 乐高EV3平台,国际奥林匹克机器人大赛WRO(World Robot Olympiad)和FLL也(First LEGO League)两大赛事
              
  • 能力风暴Abilix平台,WER(World Educational Robot Contest)赛事
              
  • VEX平台,机器人世界锦标赛
         
不过,我和队友认真讨论分析完自家娃实际的情况后,反而是做了个暂停的决定,因为:

   1)小朋友虽然对时序、循环等有了一定基本的概念,但总体来说学习的进度还是比较缓慢的,对比200+一节课的价位来讲,性价比不高

  2)初级机器人编程启蒙的课程,还是偏重拼搭和构建为主,对于这块能力的培养,有很多家庭启蒙的替代方式可以做,比固定时间接送上线下课更有弹性。

但总体来讲,这一年给孩子还是种下了喜爱编程的种子,编程在他的概念里是区别于传统的语数外学科类课程的,是一个奖励,是一个他喜欢的“大玩具”,起到了培养兴趣的作用,也不能说没有收获。


第二种是纯软件的编程课程

启蒙主要是包括以Scratch为代表的图形化编程语言,以及后续进阶的Python,C/C++,Java等开放语言

总体来说,这些纯软件编程平台往往走线上教学居多,AI课程研发体系相对比较成熟,性价比相对线下课程要高一些

Scratch界面

老大二年级下学期就碰上了“停课不停学”的疫情,为了娘亲偷个懒效利用他的课余时间,我又陆陆续续给他试听了几个主流的线上编程课程,对线上的AI课程也有了一些基本概念。

线上的课程主要是真人录播的AI课加社群老师辅导的模式开展,一周1到2次课,每次课45分钟左右,一般会以动画的形式开场,引入一些特别的小任务,一节课完成7到8个任务,不定期还有些“课程设计”,小朋友还是非常喜欢的。

某线上AI试听课程安排
作业之植物大战僵尸

这些线上课程,年课一般是3、4千元的价位。
对于三四年级的小朋友来说,基本一年左右可以大致掌握scratch的基本操作。

我们目前的打算是等到老大把手上的棋类学习告一段落后,再挑个寒假或者暑假,正式开始学习。

因为编程这门课,除了上课本身,还是需要预留出一块时间给孩子钻研和琢磨,才能真正领会和运用,如果暂时比较忙,等到高年级再接触也是不用担心掉队的


02
哪些人适合学编程


大家都对编程课知道了个大概,那是不是所有人都适合走这个路线呢?很可惜,并不是。我们自家的小男孩由于心智成熟比较晚,目前也还在观察试错的过程中

哪类人适合学编程,先借用队友这么多年面试应聘者的金标准,算法、算法,还是算法,成为一个优秀的程序猿,必须具有比较突出的逻辑思维能力,也注定了编程并不适合所有人。

但是回到孩子的启蒙这块,考虑到:

1)认知天花板的存在
2)抽象思维能力发育的个体化差异

我们很难在低龄阶段就下结论孩子是否适合学习编程,只能说编程是一个可以试错,必要的学习科目

如果小朋友的逻辑思维能力比较强,那我会尝试让他试试编程,但是如果暂时不那么感冒,我也不会强求。

逻辑思维能力,说起来比较抽象,我们举个简单的例子:

当小朋友学会简单的数字比大小之后,可以探索性地和他(她)讨论这样一个问题——如何从10个数里面找出最大的那个数。

思路有很多种,比如
1)将这10个数随机排好
2)先将前两个数比大小,取较大的数:
3)较大的数再和第三个数比较,取较大的数......
以此类推,每次较大数与剩余的下一个数比较,取较大的数,最终留下的就是最大的数。
或者
1)将这10个数随机排好
2)先两两比大小,取较大的数;
3)剩下5个数再随机取4个,两两比大小;取较大的数
4)最后比下来最大数与前次留下的落单数比较,最终留下的就是最大的数。
思路有很多种,没有对错之分,讨论问题的关键,不在于答案的正确与否,而是要观察整个过程,看孩子是否能把问题分解,抽丝剥茧,先做哪一步,后做哪一步讲清楚,思路是否清晰,就代表了一定的逻辑思维能力。

针对不同的年龄,可以提问和启发的问题难度也可以逐渐加深:
5、6岁,刚会比大小的孩子,可以只比三四个数;
7、8岁,到了学龄的孩子,可以从十个数,扩展到很多数;
9、10岁,有一定思维能力了,还可以探究下不同方法的优劣,哪种方法比较的次数最少,甚至拓展到N个数的通用解法,等等等等......

逻辑思维能力的发展,个体差异是比较大的,但无疑会随着年龄和认知的增长而逐渐增强,有些孩子一年前学个十以内加减法几个月都费劲,但过一年,孩子十分钟就一点就通了。低龄的编程启蒙,更应该是一个比较轻松的试错的过程,不宜操之过急,适度播下兴趣的种子就可以,把评判留给将来。



03
不同年龄段
编程要怎么学?

既然编程是一个可以考虑播下的种子,它和美术、音乐甚至体育一样,是一个根据孩子兴趣,可以试错的科目,那怎么学才更科学呢?

我们再来分年龄段来讨论一下:

-学龄前

坦率讲,从一般的认知发展水平来看,学龄前正儿八经的软件编程,哪怕是Scratch等图形化语言,都不是投入产出比非常高的科目孩子的思维抽象能力还有限,需要借助课程老师或者家长帮助,才能完成像样的作品,充其量是培养一点编程的兴趣。如果孩子已经时间非常紧张,把它当做一个科目来学,并且投入大量的时间和金钱的话,我认为并不是那么划算

那么问题来了,孩子还小,但是我就是特别想将来培养他学编程,除了报班,还能做哪些事情呢?我的经验是,不妨从学习积木拼搭和玩益智桌游开始做起。


先说说拼搭

因为机器人编程也是少儿编程的一大赛道,在孩子抽象思维能力还没到的时候,在搭建上多进行练习,锻炼空间构造能力是一个值得尝试的方向。

除了市面上很常见的乐高搭建机构以外,其实在家多玩一些积木或者类似的拼搭游戏,都可以帮助早期塑造小朋友的空间感知能力,从而为后期机器人编程熟练运用的空间结构,甚至基本的运动原理,打下一些认知的基础。

要知道在启蒙或者初级阶段的机器人编程中,往往大于一半的线下课程时间是花在相对复杂的搭建上的,真正编程部分由于模块调用的便利性,往往就集中在最后十几分钟的教学。


再说说益智桌游

市面上有很多玩具或者闯关式的桌游都是非常锻炼思维能力的。我们比较熟悉的Smartgames、Thinkfun等经典品牌都有非常好的游戏闯关设计,既锻炼了专注力,又从不同维度锻炼了空间想象、抽象、逻辑思维等能力。

我家每周的桌游时间是两个娃最期待的娱乐项目,我们作为家长,也减轻了小朋友需要长期盯着电子屏幕而影响视力的焦虑。

我每次一起陪玩的时候都会有意无意去引导,对于一些单人闯关游戏,让小朋友玩起来不要凭感觉瞎试,逐渐尝试进行一定的逻辑推理,找到一些突破口;对于一些多人竞技类游戏,也会对输赢做一些小小的复盘,讨论最佳的策略。

坦率讲,学龄前注重在游戏中培养兴趣和思维方式,如果家中有好的氛围,其实在家里培养是性价比最高的,也是成本最低的试错。

-学龄以后,我又把它分为小学高年级和低年级

小学低年级,编程基本还是延续以兴趣优先,再慢慢试错为主的思路。

这个年龄段的孩子是往往还不太能把具体问题抽象成数据模型的,尝试学习的时候只能先接触以Scratch为代表的图形化编程语言,还需要借助一些直观的教具,视频或者小游戏来帮助他理解各个指令的效果。

这个阶段的学习目标,主要是借助图形化语言,掌握一些基本概念,绝大多数小朋友的学习效率和速度都会比较缓慢。如果已经提前开始学,家长千万不能急于求成,要放下功利心,提前学编程,远远不等于可以抢跑很多。

而从小学三年级开始,魔都小学生就会正式增加一门新的课程——计算机信息学


这个时间段,其实也是符合孩子的普遍认知发展水平和教育部的指导方针的。三四年级开始学习图形化编程的话,按照每周一到两个课时的安排,往往一年左右时间就可以基本掌握类似于scratch的编程语言,天赋特别高的,也可以买书自学。

如果小朋友到初中以后才接触编程的话,由于抽象能力,逻辑思维能力已具雏形,所以,可以不必要从图形化编程开始学起,Python、C、C++都是可以尝试的语言,但是市面上成熟的计算机编程语言相对图形化编程来讲,会比较枯燥,也对英语水平有一定的要求,前期兴趣积累不够的小朋友就可能因为畏难而坚持不下去。

同时,到了这一阶段,一些天赋比较强的小朋友也是完全可以做到买书或者利用目前网上丰富的资源自学的。

这里再插播一个大家都挺关心的小问题——奥数学的好,是不是编程一定好
我的观点是有一定比例,但是并不完全正相关。小学奥数所需要的抽象思维能力,逻辑推理能力,和编程需要的技能确实有一定重合的地方。小奥学的好的娃,确实大概率接触编程会容易一些。 


但是,对于奥数是靠拼命刷题,依赖记忆一些套路来拿到高分的人来说,就不见得就可以轻松拿下编程。因为编程更灵活也更需要一些创造力,它类似于画画,很适合自由发挥,专注于开放性问题,而不限于传统意义上的习题。

真正将来能学好的反而是没事喜欢自己瞎玩玩瞎编编,无意识中加深自己综合运用能力的人。



04
选择什么编程语言

选择哪种编程语言或者说平台作为启蒙,很大程度上取决于小朋友的年龄。

这也就是我前面提到过的观点,受认知的限制,编程是无法主要通过提前学来获得竞争优势的,父母们大可不必太过焦虑。

逻辑思维的底子好,就算初中再接触编程,直接从C++开始学也无妨,并不需要倒回去把低幼启蒙的图形化编程再去走一遍。目前比较常见的编程语言无非以下几种主流:

  • c++ 竞赛专用,效率高但规则复杂
        适合已经确认比较有编程天赋加逻辑基础的,一般初中起步
  • python 略抽象,适合有简单编程逻辑基础
        适合小学高年级,具有一定抽象能力时可以尝试
  • scratch 为代表的图形化界面,适合低幼,操作简单,功能弱
         适合编程启蒙,小学中低年级可以尝试起步


05
学编程有哪些好处?
目前的选拔出口有哪些?

我们前面讲的这些总结起来,少儿编程对锻炼孩子抽象思维、逻辑推理、数学建模能力都有不少好处,它和数字化时代的到来,和国家的导向都非常吻合。

而且从孩子个体发展角度来讲,机器人编程后期需要组队参赛,需要培养孩子的团队协作能力,软件编程需要大量的时间精力,调试程序,对于培养孩子的专注力耐性抗挫能力,都有不小的帮助。

需要提一下的是,目前从功利的角度,也会有一些选拔的出口。

在奥数全面被禁以后,也有不少家长转战到编程这个赛道上来,目前含金量相对高一些,也得到了认可的是教育部白名单上的一些赛事。2021年最新的公示名单如下:


需要说明的是,市面上目前还有很多机构冠名或者直接主办的编程比赛,虽然办的比较热闹,但是不在教育部认可的白名单上,一般只能从练兵角度给孩子多一些体验,而按往常惯例,真正对国内升学有比较大帮助的硬核相关竞赛——信奥(全称全国中学生信息学奥林匹克竞赛)则和其余各种奥赛一样,由于国家对特长生的政策趋向收紧,也已经是非常窄的一条升学道路了。

综合来讲,对于绝大多数家长来说,学习编程,还是应该着眼于对于能力的培养,而非功利的升学目的。


06
市面上有哪些不错的资源?

主要介绍一下两个公益网站,一个有非常多的免费资源和课程,适合高年级小朋友有兴趣后自己研究,摸索,另一个适合有一定基础后直接和全球爱好编程的小朋友闯关竞技。

https://code.org

它支持多国语言,包括中文简体,旨在提供许多在家学习的编程资源,既有学前儿童的快速学习课程,也有9-18岁的计算机科学导论。

但是大龄的课程,还是以英文为主。值得一提的是里面有一个比较有趣的版块“编程一小时”,哪怕0基础的小朋友也可以卡,女孩子喜欢的《冰雪奇缘》IP,男孩子大爱的《我的世界》,总有一款适合你。

https://icode.org.cn/

第二个是iCode国际青少年编程竞赛的官网,它也是一个全球化的非盈利组织,旨在全球化推广编程教育。它基本上每个月有固定的月赛,有一定基础以后小朋友可以报名参赛,和全球的爱好者同时竞技,我家老大尝试过的积木编程大概一个月有80多个关卡,非常考验孩子的耐性和抗挫能力。

好了,今天有关编程相关的问题就分享到这里,文章太长写了太久,怕大家看晕了,再汇总下我们个人的观点:

少儿编程要不要学?


看年龄,学龄前受认知发展的局限,不推荐,但是可以尝试家庭启蒙。


学龄后,以三年级为大致分界线,低年级注重兴趣培养,高年级开始试错。


如果大家觉得有意思,我们后续还会多分享一些适合锻炼逻辑思维的小游戏,或者市面上主流编程机构的测评。

全文完。



看完省钱了
请分享给更多人⬇️

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存