爱收集资源网

编程启蒙必读:如何明智地判断和规划少儿学习路线

网络整理 2023-10-02 13:00

#a:d:1:7:2:5:5:6:2:b:2:2:d:a:2:0:f:e:e:a:f:3:c:f:8:8:3:b:4:0:e:2#

少儿编程近日仍然很火爆,很多父母跃跃欲试。但也有好多疑惑,比如:

...............

果仁妈明天分享的这份编程启蒙避坑手册,全是大实话,从编程的整体进行阐述,并一一解答,希望帮助你在狂热的少儿编辑培训中,理性地作出判定和规划。

最近几年,STEAM教育一下子被推到风口。尤其是“少儿编程”受到各路人马青睐,不仅各类主打线上编程教育的初创公司遍地开花,一些传统的线下学科培训机构也纷纷开始开办少儿编程课程。

少儿编程的“一夜火热”,背后少不了国家新政的支持。2017年,国务院印发了《新一代人工智能发展规划》,其中明晰提及:

“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。”

这一文件等于为少儿编程教育机构低调站台。

另一方面,和英语、数学、英语等学科培训以及艺术培训相比,编程课还算“小众”。所以好多机构也瞄准了这块潜力巨大的市场,铺天盖地地搞起了宣传。比如说堪称说要教给儿子“人工智能”,或者堪称小孩学几节课就可以作出很厉害的作品。

对于母亲而言,自己懂得编程的人并不多,真的自己就懂编程的父母可能都996去了,没时间管小孩的课外班;要么就自己在家教了。这就造成许多父母会被铺天盖地的广告所“迷惑”,无法作出正确的判定。

我自己从小就接触编程,参加过信息学奥赛,在现实生活中,也在帮自己儿子规划编程学习路线。

——我写这篇思索干货的本意,其实是分享我的思索新得,从而给广大父母提供一份编程启蒙避坑手册。

需要提早说明的是,这篇手册只从整体的角度剖析,不针对任何具体的培训机构。

#a:e:b:d:1:1:8:2:1:3:d:b:6:6:6:9:0:d:c:6:3:0:0:7:9:e:3:2:4:5:0:d#

为什么机构说学编程要趁早?

幼儿园就要开始学了?

我们这一届父母,其实极少有人从小就接触编程。很多人可能到小学甚至学院之前都没有摸过笔记本。作为一个“异类”,我自己是从中学的时侯就开始边玩边学编程了。

那时候的编程还不像现今有各类图形化、看上去很好玩的环境和工具,都是直接编撰程序代码的。我觉得中学作为编程的起点是可以接受的。

我自己也带过一些小孩学习简单的编程,尽管每位人接受程度不同,但总体而

言,小学二年级(7~8岁)的女儿,其实都早已可以理解编程的基本概念和逻辑了,比如指令、循环、分支、变量等等。

不过,这是否就意味着学编程越早越好吗?

曾经有一个知名的“双胞胎爬梯实验”:

一对胞胎,其中一个孩子在48周时开始训练爬楼梯,另一个孩子在52周时才开始训练,结果两个小孩都在54周的时侯学会了。

学编程也是一样,晚点开始,也未必都会落后,可能能够帮你省点钱。

这是因为一旦小孩的抽象思维和逻辑思维有了一定发展,编程中好多概念就可以被很快理解了;但反过来,你给一个幼儿园小朋友讲这种东西,就须要花很长很长时间,他们还没办法完全理解。

小孩子难以理解那些具象的概念如何办呢?

那就只能搞所谓的“寓教于乐”了:以玩为主,把战线拉长。这样做对于机构虽然也有用处,因为儿子报培训班都是有一定黏性的,早点把你圈进来就能让你仍然学下去。

#1:0:c:3:0:2:1:a:5:1:e:a:9:8:b:4:6:d:8:5:2:a:2:e:2:1:6:a:f:c:1:d#

学编程有哪些用?

机构说能提升课内成绩?

能帮助升学?

机构宣传的这些益处可能都比较重视实用性,我们先不说这种。

从父母角度来讲,学习编程的益处虽然还是在以下两方面:

1. 培养“如何解决问题”的思维方法

编程思维的核心,其实是把复杂的问题分解成一个一个较小的模块,而其中的一些模块应当是可以重复使用的。

预先设计好这种模块之间的联系,逐个实现这种小模块以后,再把它们都整合到一起——这种能力对于解决任何问题都有帮助,也是让儿子学习编程最大的收获之一。

2. “调试”这个过程所彰显的价值

没有人能一次把程序写对,写完以后一运行,总会发觉这样、那样的问题,这时候就须要进行“调试”。

调试对于小孩来讲虽然是个很苦闷的过程,有时候调了半天还是不行,就很有挫败感。但这个过程恰恰能锻练好多能力:

比如如何找到问题出在那里,其实有很多方法和技巧;还要有足够的耐心和敏锐的观察力——这些都是置于任何领域都很有用的能力。

至于用编程来提升课内成绩,理论上或许可以做到,但现实中并没有太多数据支持,所以你们也别太当真。

至于编程是否能帮到升学,也是你们很关注的问题。

我观察到的是:跟升学相关的“硬通货”比赛比赛虽然是十分少的。

比如拿NOI(全国青少年信息学奥林匹克竞赛)来说,每年全省联赛金牌也就几十个,其实是十分冷门的——如果我们拿这个铜牌作为学编程的目的,就会搞得像以前的“全民奥数”一样,家长和小孩都身心俱疲,也没哪些意思了。

学习任何东西都是同样的原则:兴趣为先,适度引导。

学编程能够在人工智能时代有饭吃?

孩子能自己编撰人工智能程序?

自从前三年Google的人工智能软件AlphaGo打败人类最顶级的象棋选手以来,人工智能一夜之间成了一个家喻户晓的名词。所有的机构都在拿人工智能说事儿,比如说:“人工智能编程,让儿童赢在未来”等等。

我们说的人工智能,其实是指以“机器学习”为主的一种软件系统。

机器学习又是什么呢?

著名人工智能专家吴恩达(Andrew Ng)在他主讲的斯坦福大学机器学习课程简介中是这样说的:

“机器学习是一门研究让计算机无需专门编撰程序,就能完成工作的科学。”

也就是说,机器学习的目标就是“不需要编程”,意外吗?

机器学习解决了一些复杂的特点辨识问题,比如说一张图片里面是猫还是狗,我们用传统的指令编程很难让计算机完成这个任务,因为猫和狗的特点太复杂了,不是能用指令描述清楚的。

而机器学习的思路就是甩给计算机几万张图片,每一张都事先标好答案,比如这张是猫、那张是狗、这张哪些都不是。用这种学习材料去训练计算机,让它自己找到猫和狗的特点,再去判定它没见过的图片里是猫还是狗。

因此,相比编程本身来说,人工智能和物理的关系似乎更强。学编程只能帮你更好地理解人工智能的工作方式。

如果你问我哪些人在人工智能时代一定有饭吃,我会说“数学家”;至于程序员,其实早已有人用遗传算法和神经网路教会计算机自己编程了,等于和程序员抢饭碗,你发颤了吗?

还有些母亲据说可以让儿子自己编撰很厉害的人工智能程序,感到十分心动,比如“让小孩自己独立编撰的动作捕捉程序”。

懂编程的人一看就晓得这是哄小孩玩的——怎么定义的“自己编撰”呢?

给儿子一个打包好的工具箱,里面有一个现成的工具就叫“动作捕捉”,然后让儿子自己写一行代码(其实是照搬一行代码),调用一下这个工具,搞定。

这种东西从学习的疗效而言有哪些意义呢?更多是为了让父母不明觉厉,心甘情愿出钱吧。

其实,现在的人工智能离真正我们期盼的“智能”还差得远。

如果机器学习本身的原理没有突破,那么可预见的将来,它仍然会离“智能”差得远。未来,人工智能将取代一部分人类工作,但我们不能把它看成是一种恐吓,而是一种新的机会。

我们作为母亲,面对人工智能时代的时侯,应该让儿子“练好心法”,而不是赶现有技术的“时髦”。至于人工智能,等有了一定的物理和计算机科学底子再去了解它也不迟。

#3:e:f:f:3:6:8:1:0:4:5:4:3:b:5:b:4:2:f:0:6:3:9:a:8:c:a:7:1:c:b:f#

学编程和学机器人的区别在那里?

我们扫视四周的课外班,就会发觉:搞机器人的机构比搞编程的机构要多得多。这上面有很多缘由:

首先,很多机构最初都是搞乐高培训起家的,从搭积木到机械结构、再到自动化是一个比较自然的路径。

再加上乐高自己也有WeDo、EV3这样的机器人教育模块,因此机构在这方面的打算更充足一点。

其次,学机器人是须要订购硬件设备的,也可能成为机构的一个收益来源,而学编程卖得就只有课时了。

最后,机器人领域里可以有很多大大小小的赛事,这些赛事都是组队出席的。尽管水平可能良莠不齐,但搭配组合、培训后总能掏出成绩,孩子也可以领到几张证书,皆大欢喜。而编程在大众比赛这方面就比较欠缺,也和它的特征也有一定的关系。

父母该怎么看待机器人教育呢?

我觉得机器人学习虽然是一个交叉领域,尽管也会涉及到一部分编程,但是在少儿阶段,学习的内容还是集中在逻辑控制层面,并不会非常深入。

所以究竟让儿子学机器人还是学编程,应该从小孩的兴趣出发:许多小孩对于机器人这些比较“现实”的东西更感兴趣,而另一些小孩更喜欢“搞头脑”。

从STEM教育的角度来看,其实二者都挺好,无所谓孰优孰劣。

我也看见过一些机构非要误导父母说学机器人比学编程好,理由是学编程只能在笔记本上搞虚拟的东西,机器人这些能作出真东西的才有用——这就是别有用心了。

假如你儿子喜欢编程,但机构却竭力推荐你去学机器人,那大约只能说明她们的机器人课更有优势,或者说能带来更多收益。

#8:f:2:5:0:2:a:a:6:8:9:e:6:0:2:1:f:e:f:3:1:a:1:e:d:3:0:6:0:e:2:e#

多种编程语言,到底学哪种比较好?

许多人听过不少编程语言,比如Scratch、Python、C++等等...到底学哪种呢?

其实你在市面上能看到的绝大多数少儿编程机构,都是学Scratch或则类似的Scratch的积木式编程。

Scratch是MIT(大名鼎鼎的麻省理工学院)开发的一款图形化编程软件,在全世界少儿编程教育领域都十分流行,它的特征就是简单易学,上手快,几分钟就可以作出一些好玩的作品。

简单易学不光是对小朋友容易学,对于机构的老师们也容易学。

少儿编程机构可以遍地开花,但是老师的缺口不是一时半会儿才能补上的——很多老师也都是半路出家的,那么显而易见,Scratch是最容易上手的,所以绝大部分少儿编程机构都只有能力调集Scratch师资。

至于Python之类的正经编程语言,师资培训和教研体系建设的难度要高上数倍,大部分机构虽然都举办不了或则水平有限,真正有能力举办的屈指可数。

#4:c:1:c:4:f:b:0:e:5:3:1:8:e:9:4:f:f:c:f:9:e:e:1:3:e:b:2:e:0:7:e#

Scratch其实好玩,但是它本质上还是个孩子玩具。

尽管堪称Scratch可以开发很复杂的项目,但是以它的设计模式,如果真做个大项目能吓死你!我自己就尝试过,看着这些花花绿绿的积木堆在一起,真得有点脑袋疼。

Scratch虽然更适宜用来培养兴趣,学习一些基本的编程逻辑,如果一个机构让儿子学Scratch超过两年,那么父母可以判定这个机构比较“水”了,很可能前面也拿不出哪些东西。

如果小孩早已通过Scratch入门了,我的建议是:要尽早转向学习正规的编程语言,只有使用正规的编程语言,才能学会严谨地抒发程序结构和逻辑。

具体学哪种语言,要看女儿想做点哪些。

比如说,想开发iPhone的App,那就学Swift;想开发陌陌小程序,那就学习Javascript;如果打定主意要走大赛路线的,那就学C++吧,NOI选择C/C++作为规定语言,是因为它们更贴近计算机底层的工作方式,说白了就是愈发“硬核”。

如果还比较苦闷、找不到哪些特定的目标,我建议可以让儿子学学Python,因为Python在各个领域都有广泛应用(比如机器学习),也可以写小游戏(比如基于pygame等引擎)。

有一点想说的是:无论你让儿子去学习哪些语言,都要引导女儿去关注这些核心和基础的东西。

比如:计算机的结构和工作原理;计算机的操作系统;编程语言相关的底层知识,以及基本的算法和数据结构知识。

——这些东西,从计算机诞生的那三天起几乎就没变过,正所谓“练好心法”才能“以不变应万变”。

到了这个学习阶段,一般小孩年纪也比较大了,应该具备一定的自学能力了。我觉得可以不屈从于在机构学习,还有好多途径可以学习这种知识,比如书本、在线课程(MOOC之类的,中文课程也十分多),甚至还有一些提供交互式课程的App(比如苹果的Swift Playgrounds)。

在这个阶段,如果自己家没有家人懂编程的话,让交一个懂编程的同学,比找个机构更管用。孩子学习的过程中有靠谱的人随时给答疑,或做出实时指导,效果自然会好好多,家长可以多请人家吃喝水表示谢谢。

#4:7:b:0:2:4:b:6:9:3:a:5:a:7:b:4:f:1:e:7:9:9:d:6:2:b:0:3:4:8:5:f#

报编程班,应该报线上呢还是报线下呢?

这一部分是我的个人观点——我觉得对于低年龄段的女儿,相比线下机构,线上学习反倒更有优势:

首先,编程教学本身就是在屏幕上进行的,也就天然适宜线上的形式;线下教学也是看老师的笔记本屏幕,本质上也没太大区别。

从实践而言,线上课堂我们当父母的可以看见儿子究竟在学哪些。即便不是专门旁听,你没事路过瞄双眼也能了解个七八分;而线下课通常父母是不随同的,我不太容易把握老师教得好不好,孩子学得好不好。

其次,我之前谈到了编程师资的培训难度。尽管我觉得Scratch比较容易,但要在短时间内让老师具备深厚的教学功底,依然很困难。

此外,Scratch教学离不开好多有趣好看炫目的工程实例,这些东西都是须要专门的团队花时间和精力去制做的。在这一点上,线上机构就可以有规模化的优势:用集中团队进行教研,也可以用少数精锐的老师去教更多的中学生,我觉得课程的质量应当更好一些。

再者,线上课的价钱通常也比线下机构更便宜。

那线上班又有哪些奇特优势呢?

我觉得,线上机构的课程要照料的群体比较大众化,且老师很难观察到中学生的接受度,因此线上课程进度设置上比较修身平缓,也很难针对某个儿子的苦恼进行具体的指导(除非是一对一的课)。

而这种劣势,则是线上班的长项。所以父母要多观察小孩的学习情况,选择合适的方法学习。

#3:4:0:c:8:1:7:b:8:9:0:0:4:d:b:6:8:f:c:4:4:5:4:4:8:9:7:0:d:c:f:0#

普通父母,怎样判别编程老师的水平?

无论教哪些学科,我觉得老师最重要的素养只有三条:

第一点应当很容易理解,老师要教100%的内容,自己必须要200%的储备。

那么在父母自己不太懂编程的情况下,怎样直观地判定老师的水平呢?

我感觉可以看老师对儿子提问的反应:如果老师有足够的知识储备,对于小孩的提问应当可以应对自如;如果常常回避小孩的提问,那多半是腹部里没有料。

另外,还可以看老师能不能针对小孩的作品提出有趣的改进或则拓展建议。

第二点也比较直白,老师讲得是不是形象易懂。

家长宁愿不太懂编程,也能有个大致的判别。比如说Scratch编程上面有提到坐标系的概念,有些老师会说像电影院里坐座位,第几排第几座,这样一说女儿就很容易理解。

坐标系也可以进一步提炼一些规律下来,比如说一个角色水平联通的时侯那个轴的座标是不变的?好的老师应当能讲一些规律,而不是只逗留在表面的一些概念。

至于第三点,好的老师上课要千方百计地引导中学生思索并自己找到答案,而不是只把知识点讲掉,带着女儿做完一个作品就完事了。

比如说,做一个小项目的时侯,老师有没有引导女儿进行功能模块的分解?在讲解知识点的时侯,有没有引导儿子举一反三,自己去发觉一些规律?在儿子的程序没有实现预期结果的时侯,有没有引导女儿自己找出问题?

家长也可以观察,孩子学完一段时间后,能不能借助学过的知识作出自己的作品。很多在乐高机构上课的儿子,跟着老师可以搭出很厉害的东西,但是让她们自己独立搭就抓瞎了,学编程可能也会碰到同样的问题。

我觉得这可能还是老师过分注重拿作品说话:因为作品是可以给父母看见产出的,所以手把手带着儿子做下来就好了,并没有花心思去让儿子理解上面的一些规律,这样的教法可能就值得商榷了。

我的总结

我们做父亲的看待编程,不应当仅仅觉得它只是一种具体的技能。编程是一种解决问题的思维方法,以及它背后所包含的这些基本原理。

少儿编程机构的火爆,我觉得是一件好事,可以提供给孩子们更多的选择。但另一方面,我们要记住资本永远是疯狂的,如今的儿童编程领域参杂着各类炒家,在这样的狂热中,希望这篇手册能帮你理智地作出判定和规划。

每日话题

关于编程,你还有哪些疑惑?

留言区告诉杏仁妈吧!

-END -

作者丨周花卷,二胎父亲,资深科技图书译者,全栈程序员,专栏作者,微信公众号「周花卷」主创。

搞自动化要学计算机编程语
上一篇:小米Note10植入GlocalMe服务 下一篇:没有了