小孩自学编程的软件
教孩子编程,最忌讳的就是一上来就丢给他变量、条件判断、对象这些复杂概念。这太容易劝退孩子,让他彻底失去兴趣。
从竞赛角度来讲,小学1-3年级学习图形化编程,直接跳过 Python,小学四年级学习C++ 和初中数学,是最优路径。
但家长也要意识到,在信奥赛这条鸡娃赛道中,每年数十万学子,只有 50个全国金牌成功保送清华大学,200个银牌降分录取,99% 学生都沦为炮灰,成为鸡娃的牺牲品。
所以从终生学习的角度来看,家长让没有数学天赋的普通孩子学 C++ 和算法,其实是有毒的,让普娃失去了编程的兴趣,过早退出。
普娃就不能成为好的软件工程师吗?
并不是!大多数软件工程师并没有拿过信奥赛奖杯,很多门外汉 甚至因为对编程的热爱自学成才。他们都成为优秀的软件工程师,用编程帮助社会解决各种实际的问题。
真正好的编程启蒙,不是教孩子做冷板凳,耐得住寂寞,而是点燃孩子学习热情,让孩子兴致盎然的解题,在玩耍中潜移默化地吸收编程思想。
儿童自由写作,首先要引导孩子爱写,多写,然后再开始写好。编程和写作类似,要让孩子先感兴趣,愿意写,多动手,然后再关心算法,时间复杂度,空间复杂度等问题。
以下是我评测和筛选的几款在玩中学习编程的优秀软件:
Tynker.com

课程设计非常出色,由简入难。每节课都有明确的游戏任务,孩子需要通过 if/else(条件判断)或 while loop(循环)等逻辑方块来打败外星人、拯救公主。孩子在闯关中会玩得非常开心,完全不觉得是在上课。
Tynker 的课程体系分为三个阶段,非常系统:
第一阶段(5-7岁): Tynker Junior 针对 5-7岁 识字量低的读者,使用的是纯图标积木块,无文字。
第二阶段(7-12岁): Introduction to Code - 图形化编程入门。
第三阶段 (13-18岁): 使用编辑器学习 Javascript 和 Python 的真实代码。
收费:默认订阅制,但是家长可以花 312美金买断终生授权,折合 2500 RMB,从 5岁学到18岁,性价比非常高。
网址:https://www.tynker.com/
Code Spark

这个软件最大的亮点是,它的界面无文字,基本不需要大人指导,孩子自己就能完全上手。既可以跟着路线图一步步闯关,也可以在创意模式中自由玩耍,甚至和别人进行编程对战。
年龄:5-9岁
收费:默认订阅制,但是可以和客服联系,说想要一次性买断的优惠券。我用的优惠券链接是 backtoschool99
| Monthly | Yearly | Lifetime |
|---|---|---|
| 9.99 美金/月 | 79.99 美金/月 | 99 美金/终生 (链接) |
用后评价
软件的趣味性很强,教学内容循序渐进,不需要大人指导小孩。
软件有多种学习模式,小孩可以按照路线图一步步闯关,也可以在网上与别人编程对战,自由玩耍。
缺点
Code Spark 的服务器都在美国,在开启新关卡时,下载需要耗时3-5分钟。有时候连不上,需要翻墙。
它三个栏目,puzzles 比较简单,explore 比较难。
Kodable

年龄:4-11岁
收费:订阅制,或一次性买断。
| Monthly | Yearly | Lifetime |
|---|---|---|
| 9.99 美金/月 | 59.99 美金/月 | 149.99 美金/终生 |
试用评价
暂时还没试用。
Scratch

由麻省理工学院(MIT)出品,是图形化编程的开拓者。国内几乎所有的图形化编程软件,都是受到了 Scratch 的启发。
适用年龄:8-16岁
收费:免费。
缺点: 它是一个纯粹的创作工具。进入软件后,你面对的是一块白板,它没有内置目标,而是等待你实现你的目标。正因为如此,孩子刚进去会不知道怎么玩。这非常需要大人的指导,或者从模仿社区里的成熟项目开始。
Scratch Junior

专门为低龄孩子设计,是 Scratch 的官方“准备阶段”版本。
适用年龄: 5-7岁
费用: 完全免费
兴趣为主
软件领域技术更新迭代很快。很多人只是因为高薪去学习,毕业后很快就会厌倦学习,放弃这个领域。真正的编程启蒙不是让孩子提前学算法,抢跑,冲击信奥赛,而是培养孩子浓厚的编程兴趣,成为一个终身学习者。
如果孩子的英文不错,我强烈推荐 Tynker 作为大家首选的编程工具,可以先尝试订阅几个月,看看是否适合娃。如果合适的话,直接花 2000 RMB 买断授权,终生使用,这样更节省金钱。
我和 Tynker 之间没有任何利益关系,纯推荐。
温馨提示
以上几款软件大多是国外产品,可以顺便练习孩子英文。
但在中国大陆可能会出现加载慢或无法访问的情况。如果你打算让孩子系统学习,建议提前准备好合适的网络环境,以免影响体验。
参考资料
Stack Overflow Blog: Want to teach your kids to code? Here are three apps that can help.