笔者计算机技术学习超过25年,在互联网行业工作20年,一直负责技术和产品团队,担任技术总监也有近20年历史,刚好之前也回答了一些关于儿童编程的问题,发现儿童编程是一个很热门的话题,很多家长因为不懂加之很多培训机构贩卖各种概念就显得很焦虑,也有一些家长觉得不以为然,还有的想入手不知道怎么进行和选择。于是就有了单独写一些关于儿童编程文章和视频的念头,这个是第一篇。
儿童编程是什么
- 很多家长对儿童编程有一些误解:

寓教于乐
首先,很多家长认为儿童编程是变相让小孩玩游戏,会影响学习。我们这么来分析,大部分儿童编程是以游戏或者机器人(玩具)来作为辅助手段让小孩子感兴趣,所以貌似小孩子会一直在玩的感觉,其实我们要去认真的看待他们玩的东西,要引导孩子看待游戏背后的东西,比如解决一个闯关问题,实现一个功能,还有跟小孩子一起研究怎么解决问题,甚至解决课本的数学、物理等等问题。游戏是人的天性,大人都抱个手机玩一天,更何况是天性未成熟的小孩子了,更也不例外,所以看到孩子玩的不亦乐乎,我们不能视为洪水猛兽,而是趁热打铁需要我们家长一起去引导和纾解,引导孩子在正确的方向上有节制的玩。
其次,有家长认为儿童编程是培养程序员的课程,这个也是错误的。儿童编程课程大部分还是让小孩子学会逻辑思维能力,能够运用多种工具去解决实际问题或者创造一些东西,实现一些创意。而且可以融合科学,技术,工程,艺术,数学等等于一体,这也是最流行的STEAM教育理念。这个对于小孩子学习其他主学科都是有巨大的帮助,也是综合能力的一种最好的整合工具。当然有一些小孩子,学习能力很强,理解力足够,会主动学习专业程序员的课程,这种小孩子就可以引导到信息学比赛方面或者直接可以做一些专业程序员能做的应用开发,也就是说儿童编程还是要因人而异,大部分我们的目标还是实现解决问题的综合能力和思维方式,而一些强的孩子就可以引导到更高级的课程。
另外,还有部分家长,因为被各种各样的信息误导,包括培训机构、自媒体等各种宣传*脑洗**,天天深陷于不学孩子就落后的思想困境中,盲目给孩子报各种各样的的机器人班、编程班。这也是对孩子成长有害的,孩子到底要不要上、什么时候上、该上什么课程,还是需要综合考虑,也不一定孩子不上就比别人差,上了一定别别人好。很有可能的结果就是,钱没少花,但是效果很差,孩子也不喜欢。
- 儿童编程是什么呢
儿童编程和计算机科班编程,本质上没有区别。但是儿童编程还是要考虑儿童的特点,比如儿童对于抽象能力还没有那么强,对于一些复杂的逻辑不是很能理解,而且一些深奥的软件工程更不用说了。因此儿童编程从编程工具、方法、课程都有别于科班编程,一般看起来编程工具都是游戏性比较强、相对比较简单的,比较有趣的。
上面说的表象了一些,儿童编程是让小孩子建立运用编程的逻辑、算法、思维结合其他工具比如机器人、传感器一起来解决问题或者实现创意的一种能力和思维方式。比较有助于小孩子提升以后在学习、工作中解决实际问题的能力。目的是为了更好的完善孩子的综合能力,尤其是动手、创意、设计以及最终的综合解决能力,这个是数学、语文、英语等等科班学科各自为政难以实现的。
国家现在也比较重视这块的科班教育,一些好的学校,通过信息技术课或者课外兴趣课,都会引进比如机器人课程、创客课程及编程课程等,一般学校的课程一个班级人相对较多,老师比较难以深入的因而而教,并且学校的在这方面的师资力量都相对薄弱。学校的教学相对来讲是普适性的,所以难度会低一些,而且一般一周一节课,对于编程来讲,其实是不够的,还需要有一定的练习和训练。
- 孩子能够获得什么
编程本质上是动脑想出方法让计算机代替孩子完成一些有趣的事情。因此,孩子能够获得什么就不言而喻了。首先,肯定有助于孩子的思维能力提升,包括抽象、逻辑、迭代等等,而编程天生就跟数学有关系,从而有有助于对数学的能力提升,最重要的是孩子通过编程项目的学习、训练、挑战、比赛,能够较早建立综合解决问题的思维习惯,能够提前适应以后自主性学习培养,在进入社会后更能够有效去解决实际问题。
一些编程相关的比赛,都是需要组队参加,一个队伍里面会有几种角色参与,有的需要复杂编程能力、有的需要搭建、有的需要有设计能力、有的需要现场操作高度承压、有的需要现场讲解表达能力,不同的人一起组队去完成一个项目或者一个比赛,有助于孩子提升社交能力、团队协作能力以及组织管理能力等等,这个相当于一个个的实战项目,非常锻炼孩子看不见的能力。
有些家长认为女孩子不太适合编程课程,其实不然,有很多计算机科学家都是女性,也做出了很多男性不能做到的成就。即使孩子未来不从事计算机相关工作,有一些基础的编程学习和经验,对于孩子的综合能力也是有巨大的帮助,更让女生有更多的技能体现。
现在的社会已经是一个高度数字化的世界,未来只会变得越来越智能,所以所有人不管是否计算机科班毕业,计算机能力都会成为基础能力的一种,就如现在的语言、数学等基础能力一样,成为人才核心价值的一部分。能够懂得编程,就能够利用计算机做更多的事情,从而提升本职工作的效率、质量。
怎么开始
- 什么时候开始
笔者认为什么时候入门都不晚,只要孩子有兴趣和时间档期。当然需要考虑不同的因素,包括性别、年龄、家庭环境等等因素。只要条件允许,笔者建议还是尽可以早点让孩子接触编程。
如果家长还没开始,建议关注本号,我会持续更新一些合适的入门书籍、课程、教具,待有一定的理解,再进一步的选择比较妥当。
- 怎么进行
孩子对于逻辑和结构的认知是比较早就开始了,在幼儿园阶段其实就可以开始进行手工拼搭创建能力的培养,为下来的编程课程做引导,有条件的可以用一些拼搭带编程软件的玩具。比如乐高的WeDo 2.0,因为孩子比较小,不太适合长时间看电脑,这时候家长在旁边可以帮忙做一些简单协助,孩子能够理解图形编程指令能够控制搭建的机械装置就可以了,然后再慢慢知道怎么去调整一些参数和逻辑。WeDo这个教具可以在小学3年级以下都可以使用。
小学3年级开始,选择性就比较多了。家庭有条件的可以买机器人套装比如乐高的EV3,索尼的KOOV等,当然这两个套件都不便宜,KOOV的软件做的很好,EV3扩展性更强。另外如果偏向程序思维培养,那么可以选择Micro:Bit编程板,这个很便宜100元,既可以做软件编程,也可以做扩展做各种复杂的软硬件项目。另外也可以选择纯软件的,比如Scratch,可以实现动画、应用程序和游戏等功能,现在很多学校现在也开设Scratch课程。
如果想进一步的,建议就要做代码级的编程,比较好的语言选择是Python和C++,前者比较简单易于上手,退休的潘石屹大佬都能学上,更何况小孩子呢,门槛比较低;后者是比较针对信息学奥赛的也是未来如果想从事计算机方面学业的孩子的最佳选择,因为更接近计算机底层,有利于更好更深入的学习,但是门槛就比较高了。
到了初中高中后,就不属于儿童编程范畴了,这个阶段,孩子有自己的意识和判断。他自己选择最重要,是终止(能力其实固化了),还是继续,继续是比赛还是软件还是算法等等,都可以接受的。之前学的东西,总是有能力和思维沉淀的,未来步入社会的时候,会发挥出应有的作用。
- 什么课程适合
因为国家的重视、学校的关注、家长的关心,因此有了实质的需求,因此各种各样的培训机构层出不穷,催生出非常多的教具、课程,大部分家长都是非专业人员,会面临选择困惑。我个人的建议有这么些要点:
- 教具是否是大规模使用的
- 教具是否是教育部比赛认可的,如果教具不是大规模使用也不是比赛认可,那就是太偏门了,可能就落到玩具一类上了
- 编程语言是否是标准化的或者是计算机工业化的,比如是否是Scratch、Javascript、Python、C/C++
- 教材是否成体系或者依托某些教育体系,比如是否是CSTA、NGSS标准
- 师资力量,这个就要看培训机构是否有过好的成绩和成果
- 培训机构的资质,相关机构的资质和教师的资质都很重要
如果对孩子编程感兴趣,敬请关注我,我会持续更新相关的书籍及视频课程:
1、计算机基础入门
2、Micro:Bit图形积木编程
3、Micro:Bit代码编程(JavaScript、MicroPython)
4、Scratc*图h**形积木编程
5、Python Turtle海龟编程
6、PyGame Zero游戏编程
7、Processing数字艺术交互编程
8、小喵板游戏编程
...