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

发布日期:2021-01-22      作者:小码君      来源:小码王编程      浏览量:1
导读:少儿编程这个概念在国内兴起,总有个三四年了。 2016 年,曾经有人问:“儿童学习编程是不是为了将来做'程序猿'?”。 我当时给的回答是: 编程说白...

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

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 有个地方呆着,然后自己能放松几个小时。

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

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

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

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

3.4 确定课外班的有效性

怎么才能确定课外班是否有用呢?

这里就要分两种请况了:

  1. 家长对于这门课程教授的内容非常熟悉,足够精通。自己就可以凭借专业知识和经验对培训机构或个人培训教师的教育理念、课程设计、教材内容、师资水平进行第一方专业评估,直接得出是否有用的结论。
  2. 家长对于课程完全是门外汉。

这时候要确定有效性,就比较难了。比如:

我家小朋友学钢琴。我家除了她都是音盲,只好请了在线陪练陪她练琴。

对于那些指出她错误的陪练助教,她总说人家专业有问题,不是音准不对就是节奏不对,要么都不对。

按照她的说法我打了几次差评之后开始有点心虚,隐隐怀疑她可能在忽悠我。因为她说好的都是那些让她随便弹不挑错的助教。

问题是:我自己完全判断不了助教们的业务水平!万一我家小朋友说得对呢?如果真的是那些助教的水平有问题呢?总不能老往错了教她吧。

所以我只好继续按照她的意愿给她约老师,约的都是甜甜的小姐姐,从来不说她不好。

外行领导内行,真是痛苦啊!

好在钢琴还有主课老师能每周回课一次。另外还有个权威机构的考级等在那里,主课老师也是有 KPI 的,不可能随意放任她——依靠第三方评价体系,虽然不能很高效,好在总不至于无效。

3.5 确定编程培训的有效性

而编程这件事:

  • 一则我已经想好了它是有用的;
  • 二则,我自己是这方面的行家,我可以完全掌控教学过程并评估效用。

既然如此,问题-4 (作为家长,应不应该让孩子学编程呢?)的答案也是:作为一个拥有专业编程知识的家长,应该让孩子学编程。

顺便提一句,现在小学的数学课的规定内容确实有点太容易了,需要额外加加码锻炼一下小学生们的小脑袋。

4. 少儿编程教育市场调研

在决定了要让孩子学编程之后,也不是 100%肯定就要自己教,也有考虑过是否报班性价比更高。

为此,我调研了市场上的儿童编程和少儿编程课程。


当然,如果您正在寻找少儿编程培训机构,也希望您的孩子学习专业编程课,您可以和我们小码王编程网在线老师进行咨询,还可以有机会领取免费试听课程哦。


当然,如果您正在寻找少儿编程培训机构,也希望您的孩子学习专业编程课,您可以和我们小码王编程网在线老师进行咨询,还可以有机会领取免费试听课程哦。

扫码关注:扫扫二维码 添加小码王童童老师微信好友
也可关注小码王官方微信公众号,微信搜索:“小码王”!
转载声明:非常欢迎分享到朋友圈,但转载请说明文章出处 “来源小码王编程官网” http://www.xmworld.cn