2026年06月01日

当程序员成为父亲,总想把编程这一技能尽早教给儿子。 我家娃进入小学二年级没多久,我就开始了解少儿编程这一领域了。 如今已经实践了一段时间,有所总结和思考。

从图形化积木编程开始

图形化积木编程的代表是Scratch。如下图所示:

这类可视化的东西更容易引起小孩子的感兴趣,适合用于入门。

不过作为整套软件,Scratch还是稍微有点复杂。我一开始选取的下面这样更简单的课程:

等零基础的孩子掌握了鼠标操作和基本的编程概念(顺序执行、循环、事件等)之后,再系统地学用Scratch。

结合图形的文本编程

接下来,如果不想直接进入纯文本写代码的阶段,可以用结合图形的文本编程过渡一下。 例如下面这个Reeborg’s world网站,可以用多种程序语言来写代码控制一个机器人行动。

这种方式既保持了图形界面的乐趣,又可以练习使用键盘输入代码,一举两得。

Python还是C++

当要开始真正写代码时,会面临一个问题:是学Python还是C++?

Python相比C++,语法上更容易一些。另外据我了解,网上学Python的资料也比C++多。

不过,我最终还是决定直接从C++开始学。原因有以下几点。 首先,对于小孩子来说,编程语言都是新事物,语法上的难度差异体现不明显。 其次,C++比Python更接近底层一些,有助于打下更好的计算机基础(当然了,教的时候对于指针、内存等底层概念的介绍要注意节奏,尽量等后期再按需引入)。 最后也是最关键的,是因为国内的信息技术奥赛目前只支持C++。 孩子从小学编程多多少少会有参加考级和竞赛进而辅助升学之目的,如果从Python开始学,后面仍需转换语言,徒增时间成本。 综上考虑,我判断用Python做过渡是得不偿失的。 假如之后竞赛语言放开自选了,那么从Python开始学或许会是更好的选择。

无论怎样,从小学习编程都是有好处的。即使不写代码,培养一些解决问题的编程思维也是不错的收获。 如果对此感兴趣,欢迎联系。


如果想要说些什么,欢迎发邮件给我