关于孩子学编程的些许思考
客观因素是有些题材受限:一方面有些程序很无聊,比如放一个角色在那“说”出一首古诗,又比如曾在网上看到《猜猜我有多爱你》绘本改编的程序,就是两只兔子作为主角在那你一句,我一句的说对白;一方面发布在网上的教程不能获取到相应的素材(原因大家懂的——知识付费嘛)。
主观因素是孩子能力受限:毕竟还小,数学、逻辑能力还有待提升,像比较经典的数学问题《鸡兔同笼》也没法给他讲,怕把娃绕晕了。
所以最近在网上搜了很多的文字、视频教程都没找到合适的,就没法分享陪孩子玩的内容了。但是我又不想断更这个公众号,因为一段断了,人就会犯懒,丢下的东西要再捡起来就难了。
不过在搜索内容的过程中,也产生了一些关于孩子学编程的思考,想在这里分享。
为了让这篇文章看上去高大上一些,让我的思想看上去有深度一些,下面我会采用5W1H分析法来说一说。
What就是编程,Who就是孩子,这两个就不多说了。
先来说说Why:
首先来说说我自己。从我发第一篇《陪孩子玩Scratch》开始,周围就有相熟的朋友说“你真是太卷了,人家都是二、三年级才开始学,你儿子才大班你就开始教了”。但其实,我的初衷只是为了打发时间啊!!!
你想啊,总带着娃出去逛吃,这钱包不允许啊;带孩子运动,还得看天;亲子阅读(这绝对是个好习惯),那也不能全时段读书对吧。
那比起花这40来分钟孩子看电视、玩游戏,家长在旁边刷手机,这一起编程不是挺好的一项亲子活动吗?(当然这样家长要付出更多一些,毕竟要提前准备一些内容)。
接着一部分人让孩子学编程是抱着提升英语、数学等能力的期望去的。但你想,就程序里那些if、else这样的预留字符加一些sum、count这样的变量名,连个完整的句子都没有,能把英语提升到多少高度?再说回《鸡兔同笼》的问题,你要让孩子把它转化为程序,不得先让孩子把题给算明白了啊?但话说回来,等编程学到一定高度了,需要参阅外文文献了,需要数学建模的时候,确实能反过来提升英语、数学能力了。
最后少部分人说我就是奔着信奥、奔着拿奖、奔着名校去的。那这个就不作评论了,毕竟自家孩子是不是这块料,只有自己知道。
总结地说如果是为玩(毕竟玩啥不是玩呢)、为兴趣(孩子就好这口,说明还真有这方面的天赋)、为追求成就感(处理完各种报错运行成功的那一下,确实挺哈皮的)等等,为着类似这样开心快乐的目的,那编程挺好的;如果抱有蛮高的期望,带有明确的目的性、功利性,那我还是劝你三思。
再说说When:
一些培训机构会规划二、三年级学Scratch,学完Scratch开始学Python,然后再进阶到C或C++。我觉得这样的规划还是比较合理的,二三年级大部分字都能认识了,能看懂Scratch那些程序块上的字(我家老大能早学就占便宜在识字早),等对编程有了一定的了解,且学过英语了,可以接触Python,如果只是作为一项技能,学到Python也够用了,但要迈向信奥的话,确实还得把C也学了(但编程的原理都是相通的,精通了一门语言再多学一门,主要学会基本的语法规则即可)。
然后说说Where:
如果你是比较随意的心态,那么哪儿学都可以,自己懂一些的,可以和我一样网上找找材料陪孩子玩一玩(Scratch的门槛并不高);自己不太懂但有些闲钱的,也可以报个班;
如果是孩子兴趣浓厚,表现出极高的天赋的,那么就请专业的老师去好好培养吧;
如果是期望高、目的明确的,也就报班学吧,但还是那句话,根据实际情况三思而行啊。
最后说说How:
中国计算机教育第一人谭浩强老师,说名字可能不太熟,但我要说大学C、C++教材都是他编的,你肯定就知道了。他就在书里写过:会不会编程不是看“懂不懂”,而是看“会不会干”,要多上机实践,掌握一门编程语言,首先要写出一万行可执行的代码。
所以最后这个How,我想说学编程和学别的任何一门课都一样,也没有什么捷径可走,最终还是一个量变引起质变的飞跃过程。