大家好,我是阿赵。
之前我曾经聊过对儿童编程的看法,我觉得我是不会花钱逼自己的小孩去学编程的。不过很无奈的是,学校的免费编程老师开始pua家长,说如果暑假不去他指定的收费编程培训班学习,就会跟不上进度,言下之意是,如果不肯花钱去学,学校里面的免费课程也可能不能上了。
其实我倒是无所谓的,因为我并不认为小学的老师能有什么教编程的能力,毕竟学校也没有专职教编程的老师,都只是数学老师兼职教的。在学校免费的编程班每天中午不休息的上编程课,上了一年,居然只学会了条件语句和循环语句,连一维数组都用得不是很清楚,这样的教学能力,我是极度怀疑的。但估计对于小孩来说,每天能拥有去电脑室玩一下的特权应该是很自豪的,所以既然小孩非要去学,我也只能屈服了。
来说说这个学校指定的收费培训班的情况,据说是一位曾经在我们地区比较好的高中任教的老师辞职出来下海开的培训班。培训班的前台贴了有十来个“老师”的简介,我仔细看了一下,除了有2个是真的具有教师资格的老师以外,其他人全部都是各种学校的“研究生”。然后这些贴了简介的“优秀老师”,其实也只是挂名的,在真正开课的课程里面,都不是这些人来教,而是一些非常年轻的教师,如果我猜得不错,应该是做暑期兼职的大学生。
虽然这个培训班看起来实力并不怎么雄厚,但收费可不便宜。把c++课程分了8级,每一级课程12节课,收费3600,也就是300元一节课,每节课2个小时,大班教学,每个班10几个学生。那么如果全部8级课程学完,需要差不多3万元人民币。看了一下课程内容,其实学完8级,从专业角度也只是入了门,学了一些简单的算法而已。对于这个收费,我的心是滴血的,我从小学开始学编程,也是一个30多年的程序员了,我都不知道原来自己的知识是这么值钱的。
不过,评价一样东西是否值钱,也不能单纯靠它本身的内容价值。比如教学,我自己虽然懂,但首先是没有时间教,然后也不懂教学的方法。所以如果是专业的老师,说不定在教学的效果上,是要比自己教要好。如果真的是这样,这个钱其实也花得值。
刚刚到这一周,我儿子这个暑假报的12节课的课程就上完了。由于加了微信群,老师每天都会在群里面发笔记,所以我知道这12节课基本上都是在教一维数组的使用。12节课,24个小时教了一维数组的用法,这个其实挺奇怪的。之前我花了10分钟,就教会了儿子使用二维数组,所以按道理这个一维数组的课程对于我儿子来说,应该没什么难度可言。但在完成老师课后布置的作业时,我儿子居然并不能每天都拿满分,甚至会出现一些完全不会做的题目。
不会做的题目,老师每天晚上还会花一个小时做线上的答疑,所以按道理来说,也不需要我来教。不过我儿子比较希望在老师讲之前就把问题搞清楚,所以还是会来问我。我看了之后,也明白问题出在哪里。这些编程的作业题,实际上从我的角度一看就知道老师想训练学生的知识点,比如一维数组的创建、赋值、数值交互、排序等等,但问题在于,为了包装这些知识点,作业题会像应用题一样,会举一些实际的情况,比如什么学校去秋游要排队啊,小明和小红怎样怎样啊。这种题目,其实就是模仿了编程比赛时候的题目,在学生提交完自己的程序之后,每题会有10-20个测试数据,然后显示出测试数据是否通过,耗时多少毫秒,使用内存多大。这一点我觉得是挺好的。
但对于小学生来说,这里有一个门槛,如果单纯是考他们当节课学习的编程知识,他们应该来说百分比能做出来,毕竟一个一维数组学12节课,每节课讲2个小时最多也就一个知识点,再怎么笨应该也不至于听不懂。但对于小学生来说,可能理解这种应用题的反应能力,还有数学的基础能力,就会有点跟不上。而老师晚上的答疑讲解,我也陪着听了2天,发现老师其实并不会真的解释题目的意思,也不会解释数学算法是怎样思考出来的,直接就很理所当然的开始编程。
最扯淡的是有一次,有一个题目我儿子怎样做也做不到满分,叫我帮忙做,我居然连续做了2次也得不到满分,直到做第三次才得到了满分。这一次我有点恼羞成怒了,这个题目的知识点很简单,其实就是一维数组里面的数据交换,目的只是想学生练习用swap方法。但题目的算法却涉及到了大小交错排序和整个数组字典值最小等概念,我怎么想都不是小学生能明白的。于是当晚我也陪着儿子去听老师的答疑,想听听老师是怎样给学生讲解这题的思路。令我很失望的是,从老师读完题目开始讲解的时候,我就知道这位老师其实是不会做这一题的,这一题输入数组的长度是奇数和偶数时,情况是不一样的,但这位老师举了2个例子都是输入偶数长度的情况,然后就很武断的说数组的第一个数和最后一个数是不会发生变化的,然后就开始写程序。实际情况是,当输入的长度是奇数是,其实最后一个数是需要交换的。当然实际的算法不像这位老师说的那样,根本不需要判奇偶,可以一个循环就解决(但我肯定不会告诉他……)最神奇的是,虽然老师的思路是错的,但他最后写出来的程序居然是能得到正确答案的。这说明了什么?只有一种可能,就是这位老师根本看不懂题目,只是从最后的标准答案里面,反推了一个似乎能扯得通的解题思路。反正这一题,在整个培训班的小朋友里面,也没有一个人会,所以这位老师怎样扯,也不会有人反驳他。我也不可能特意为了落他面子去反驳他,毕竟这样做对谁都没有好处。
然后其他的方面,其实我也不是很满意,众所周知,C++的数组下标是从0开始的,老师为了方便小学生理解,硬叫他们从1开始使用。然后C++的数组,在声明数组长度的时候,按道理是有一定的技巧的,尽量是考虑够用就行,尽量节省内存。但老师却教他们,为了避免出错,一开始就申请一个非常大的数组长度。所以就算题目里面就算写明了N的取值范围小于100,学生们习惯性的会声明一个一万长度的数组。这样学编程,好像是学了个入门,但我个人认为,为了能让学生很快的好像学会了知识,而灌输了很多错误的编程习惯,对于启蒙阶段的学生来说,可能会造成了以后很难改正的错误思想。就像这些错误的习惯,我想纠正我儿子的时候,他会理所当然的说,老师就是这样教的,没必要改。
这就是300元2个小时一节课的大班教学编程课程,对于99%的家长来说,估计都分辨不出它是否有这个价值。在这种前提下,儿童编程的钱真的是太好赚了。我也可以租个场地,然后找几个研究生毕业的同事挂个名拍个照片放在前台,然后和小学的老师领导打好关系,剩下的事情就是去附近的大学的计算机学员找几个廉价在校大学生,过来做做兼职老师。这样做,不比在游戏公司当牛马强得多?估计每年只是做寒暑假培训班都够了,做个几年就提前退休了。当然,这只是自嗨一下,单纯是和小学的领导搞好关系这一步就很难做到了,没有很硬的关系,我说我是流水收入数十亿的游戏项目技术负责人,谁看得起我呢。
最后,我只能和我儿子说,以后我们就不要花这些冤枉钱了,一期课程3600元的钱,可以做很多事情,比如给妈妈买条项链,给爸爸买台3D打印机,多好。再不行,我们出去旅游一下,都比上这个课程有意义。
08-29
08-29