现在编程教育真是太红了,连不少小学都开始教编程了。朋友都知道我是程序员,于是他们经常开玩笑地问:你在家是不是经常教女儿编程啊?
我一般都回答:害,我哪有时间啊。
但实际上我是认怂了,让孩子学编程,这是个技术活,我可教不了。而且我也会劝程序员的同事,别教孩子学编程,容易弄巧成拙。
01成人编程≠少儿编程
虽然成人编程与少儿编程里都有“编程”二字,但这两个编程完全是两个意思。
我是计算机专业的,从大学开始接触编程,大学学习编程完全就是技术流,各种编程语言轮番上阵,什么C语言,C++,JAVA,html,都不在话下。
如果我教孩子,大概率也是从编程语言开始教。教教孩子怎么用编程语言实现一个小程序,怎么画一朵花,怎么让乌龟动。
但这太难了,别说让孩子自己上手打代码了,能让孩子乖乖坐在那听我讲C++是什么就不容易了。
而且编程是个综合学科,英语、数学、逻辑学,这些复杂的知识都会用上,将这些一股脑的堆给孩子,只会让孩子产生逆反心理,学不会就不想学,不想学就不可能学会。
这就是我反对程序员教孩子学编程的原因,程序员的那套完全不适合用在教育孩子上,可能一两次还行,让孩子接触一下,但要让孩子对编程感兴趣并有耐心的去学,那还是得专业的人来。
02孩子学编程,是在学什么?
那你可能会问:那少儿编程不学编程语言,那学什么啊?
我举个简单的例子给你听。
现在我们开车都用导航软件,输入起点和终点之后,系统就会给我们推荐各种行驶路线,并避开拥堵或者单行道。
把这个程序用代码写出来,这是成人编程课程会教你的内容。
而如何从起点到终点,如何避开拥堵的路口,如何找到最快的路线,就是少儿编程编程会教你的内容了。
简单来说,少儿编程教的是道(找到比较好的解决方案),成人编程教的是术(去实现它)。
这个说起来简单,实际教起来才叫难呢。
我曾经尝试教女儿学编程,我问她去外婆家怎么去啊?她说坐车去。我说:我不是在问交通工具,我是问过程,我们去外婆家需要做哪些事啊?她说:带上水壶。
从那之后我再也没教过女儿关于编程的事情了。
03没有规划的教育,都是耍流氓
程序员父母教孩子学编程,还有一个问题就是毫无规划。
可能今天想起来教孩子学一点字符串,下一次就教孩子归类运算去了。
这么东一榔头西一棒子的教法,孩子看似学了不少,但越学越迷糊,基础没打好,学的东西都是空中阁楼,经不起推敲,也没法应用于实际。
也不是没有程序员教孩子教得好的,我就认识一个程序员妈妈,她孩子7岁的时候就开始跟着她学编程了,学得也不错。
但人家付出的心血无法计量,写的教案有十几万字,买的少儿编程书有一书柜,整天钻研国外先进的编程教育方法。
所以如果自己没有一套完善且有趣的学习方法,还是别瞎折腾孩子了。还是那句话,教育,说到底是一件专业的事情。
04那孩子一定要学编程吗?
我的建议是:有条件的话,最好要学。
主要是基于以下两点考虑。
1,现实层面
我现在在一家游戏公司做组长,手下带着十几个程序员,每年都会去校招。最近几年有一个很明显的感受是越来越多的公司需要会编程的人才了。
以前只有互联网公司需要招程序员,现在几乎所有行业都在往线上跑,招的公司多了,应届毕业生的工资也水涨船高。高起点对于孩子的未来会更加容易些。
2,人生层面
我个人的感受是学编程对一个人的思维方式、逻辑能力,都有很大的提高,学编程,就是学习怎么拆解问题,解决问题。
这种能力在各行各业都是通用的,哪怕不做程序员,做设计、文案、产品、销售,都可以用上。
当然,最后也是最重要的一点是:尊重孩子。
孩子有兴趣的情况下,再让孩子学习编程。不要填鸭,不要违逆孩子的天性,孩子不想学就不要逼他去做不喜欢的事。