教了一年少儿编程,说说感想和体验

少儿编程这个概念在国内兴起,总有个三四年了。

2016 年,曾经有人问:“儿童学习编程是不是为了将来做'程序猿'?”。

教了一年少儿编程,说说感想和体验-少儿编程网

我当时给的回答是:

编程说白了就是用一种简单的符号语言描述一种解决方案来解决实际问题。编出程序的效果取决于两个方面:1、对于实际业务问题的了解;2、对算法和数据的掌控。

这两者的基础是:语文、数学、英语。具体的编程语言和工具可以忽略不计。而现在的少儿编程就是灌输编程语言句法和工具使用,本末倒置。

因此,作为积年的老程序员,我反对在孩子没有自身意愿和兴趣的情况下要求他们学编程。

那个时候,并没有想到自己要去教少儿编程。

又过了一年多,少儿编程这个概念越炒越热,成了 STEM 教育的主要代表。身边越来越多的人提到这件事情,有人在讨论给孩子报哪个培训,有人则在考虑自己教课。

有一次正好和一个前同事(下面简称 G 先生)聊起这件事情。G 先生在家里开了个少儿编程培训班,教他自己的孩子和孩子的同学,总共两三个小学生。

问他讲什么内容,G 先生说有编程语言有算法还有二进制等基础原理知识,大体架构和大学初期阶段的计算机专业课程设置差不多。

听他这么一说,忽然激发了我办个类似“培训班”的愿望——当时真的就像是被点燃了一样,这个念头一下子就涌现出来了。

2. 学编程到底是学什么?

当然,一时热情是成不了事的,在念头产生之后,我开始正式考虑编程这件事情,分析利弊。

2.1 提给自己的问题

既然事关教育,那么最主要的利弊当然就是分析:小朋友学编程到底有什么用?// 问题-1

其实问题-1 之前还有一个问题:学编程到底是学什么?//问题-2

而要回答问题-2,还需要先回答另一个问题:怎么样就算学会了编程?//问题-3

2.2 怎样算是学会了编程?

对于 问题-3,我认为可以分为三个维度:学编程就是要学会 i)编程语言;ii)算法;iii)工具。

i)编程语言

编程语言是程序表述的形式,是编程这件事的表达手段。

怎么算学会了编程语言呢?很简单,学会了编程语言甲的标志就是,从今往后,再有编程语言乙、丙、丁、戊、己、庚、辛……,只要有足够的文档和样例代码,就能自学掌握。如此,则说明在学习编程语言甲时,已经掌握了“编程语言”这个东西的内涵、外延和重点。

ii)算法

广义的算法是一个很宽泛的概念,只要是有始有终有结果的过程,都可以被叫做算法。

狭义到仅限于计算机领域的算法也有很多,解决任何一个计算机执行的任务的过程,都可以被称作是一个算法。

不管在这万千算法中,有一些经典范例,它们解决了计算机领域一些非常基础的问题,同时又历经世代,经历了严格的检验、优化和度量。这些范例可谓是至今为止对应问题的最优解,我们称它们为经典算法。

学会算法自然是要从原理到细节全方位掌握经典算法。

iii)工具

此处的工具是指那些在编程时要用到的工具(例如 debug 工具,各类资源监控工具等)、支持库、程序包以及和业务相关的知识(比如要写网卡 driver 总要懂 TCP/IP 协议啊)的总和。

这部分,对于职业程序员而言是必不可少的,对孩子们而言,到未必。

如此将 问题-3 展开来分析一遍,不难发现:算法是编程的核心。

2.2 少儿学习编程的意义

既然 问题-3 有了结论,那么 问题-2 就好回答了:既然学编程的核心是学算法,那么 在非职业阶段,我们可以暂且把学编程等同于学算法。

再回到 问题-1 :小朋友学算法有什么用呢?

答案是:培养逻辑思维能力。

计算机领域的基础经典算法有点类似数学中的九九乘法表。后者把最常用的算术乘法计算过程浓缩总结成了规则,前者则是把另一些高度抽象后的常见问题的解决方案精炼成了执行过程。

学习这些算法,就是学习数学家、计算机科学家们几十数百年来的智慧积累。而且,算法的学习过程,也是一种思维训练和头脑体操。

以上是从一个程序员的角度出发,来看少年儿童学习编程的意义。

3. 是否应为孩子选择少儿编程培训?

下面再从一个家长的角度,说说让孩子学编程这件事。

3.1 “课外班”有必要吗?

作为家长,应不应该让孩子学编程呢?// 问题-4

这个问题也要依赖于另一个问题的答案:应不应该让孩子上课外班(进行常规课程之外的培训)?//问题-5

对 问题-5,我作为一名家长,给出的答案是:应该。

这里需要说明一下:我对于国家过去的和现在的公立教育体系没有不满。

八九十年代的中小学教育以“应试教育”之名而被各种诟病,但我觉得,在当时的历史社会环境之下(发展中国家全方位落后,各种教育资源极度稀缺),对于既要兼顾整个国家的大多数普通人,又属于义务范畴(免费)的公立教育,整体上无法更好了!

这么说可能因为我本人是那个时代公立教育的受益者。但反过来,如果我这样一个典型的普通工薪阶层出身的普通人都能够成为受益者,那么说明大多数人都能够从中受益!

也可能我这么认为是因为我现在从事的行业所需要的大多数技能都属于“书本知识”,都是可以在课堂上学到的。但这个行业——软件/互联网——是现在一个覆盖面很大且尚在发展期的行业,整体的入门门槛也并不很高,普通人只要具备了基本的教育基础,有心加入,大概率都是可以入行的。现存公立教育体系既然可以对这样的行业进行直接的支撑,那么可见其价值所在!

当然,如今的中小学公立教育也和二三十年前不同了,如今开始讲快乐教育,在小学不排名,进初中不考试。如今坊间舆论又有将 “快乐教育”职责为“阶级固化”工具的迹象。

对此,我的看法是:事易时移,社会环境变了,教育制度肯定是要变的,否则桎梏就必然大于支持。关键是怎么变。现在这种变法对于整体而言是好是坏,对社会会产生怎样的影响,不是当时可以显现的,也不是当代人能够评价的。要想平心而论,可能需要几十上百年的时间。

固然,打开朋友圈、微博随处可见的是对当前教育改革的各种问题的讨伐。但是,任何领域的任何变革好像并没有哪一个被民间叫过好的。有些被骂的变革很快消失了,也有些也一直持续下来了,还有些后来又经历了别的变化,社会终究是在发展的。

3.2 与环境良性互动

不管何种情况,作为普罗大众中的一员,靠谩骂和发牢骚是无法迎来任何好转的。要么适应要么改变。

无论如何先闭上嘴,然后动动脑,想想在当前的情况下自己能做些什么来改变自己和周围人的状况,与环境、大势进行良性互动。

之前的“应试教育”阶段,小学生们不是每天回家做作业就要做到睡觉,很多家长们叫苦不迭,认为孩子完全没时间玩,而且不同的孩子偏偏要写同样的作业,做了太多无用功吗?

当前的快乐教育减轻了学习压力,让学生拥有了更多的时间,不是正好给了家长机会可以针对自己的孩子进行个性化定制的辅助教育的机会吗?

当前的教育格局赋予了孩子课外自由支配的时间可以用于学习,作为家长不应该将其浪费。因此,针对自己孩子的情况,选择与之相应的课外培训,则是应该的——我就是这么想的。

3.3 有用 vs 无用

现在又有一种趋势—— 一干家长上赶着把钱交给各色辅导班,然后再叫苦不迭,说什么“月薪三万养不起一个孩子”。

 

谁也没规定那些辅导班全都非要去上吧?你自己没有选择吗?

如果你说别人都上了你家孩子不上就输在起跑线上了,那么请问你 能确定那些辅导班真的有效吗? 确实不是在浪费时间、金钱和精力吗?

说起来,我本人也送孩子上过完全没用的辅导班:

上学前上了两年多某知名培训机构的线下英语,花了好几万,但是孩子什!么!都!没!学!到!

不过说实话,作为家长,也不是最后才知道没效果的。早在进行过程中其实自己就知道了。那为什么还送孩子去呢?因为能够 买到点属于自己的时间。

其实很多家长送孩子去辅导班的目的不过就是在保证孩子人身安全的前提下,让 TA 有个地方呆着,然后自己能放松几个小时。

至于“培训效果”,只要孩子不受伤害,能学到点东西更好,学不到也没什么。

为了这样的目的,有的是人愿意花一两百一个小时的“学费”。如今异常蓬勃的学前教育市场,有相当部分比例是分给了这样预期的家长。

不过家长的这种预期,基本停留在孩子学龄前。

孩子上学后就不同了,那时候他们的业余时间变得很有限,就算现在不排名,未来的学业也等在那里。小学生的时间已经不容再浪费!学龄儿童再学什么,都不得不考虑是否真有效果。

本文链接:教了一年少儿编程,说说感想和体验

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:少儿编程网,谢谢!^^


*文章为作者独立观点,不代表少儿编程网立场
发表评论

坐等沙发
相关文章
这么多学校开设机器人专业,学编程有用吗?
这么多学校开设机器人专业,学编程有用…
关于少儿编程,家长需要明白的这几件事
关于少儿编程,家长需要明白的这几件事
很少有人天生喜欢编程,孩子对编程的兴趣可以从小开始培养
很少有人天生喜欢编程,孩子对编程的兴…
会编程的孩子数学一定差不了
会编程的孩子数学一定差不了
关于少儿编程,国外的家长是怎么看的?
关于少儿编程,国外的家长是怎么看的?
学习少儿编程,是对孩子的未来最好的投资
学习少儿编程,是对孩子的未来最好的投资
学生都说我是编程界的“吴彦祖”