小升初摇号看来已经是大势所趋了,没有了小升初,家长们对于奥数的学习也缺少了很多热情,随之而来的是,家长开始让孩子接触编程了。我身边就有几位朋友,都在让我推荐几本孩子能够编程入门的书籍,或者推荐一些编程课程。现在市场上的编程课程很多,针对少儿来说,一般都是从Scratch 开始启蒙,然后学习Python 和 C++。对于低幼的孩子来说,通过Scratch语言的学习调动起孩子的积极性还是可以的,但是对于小学二年级以上的孩子,建议可以从Python学习了,毕竟Scratch还不能算是正式的编程语言,想要真正理解编程,还是要从一门通用的编程语言开始。
Python 和 C++ 都是通用型语言,在实际项目中使用巨大。国内大部分学习C++ 的学生,主要都是为了参加 NOIP(信息学奥林匹克竞赛)的比赛,这个比赛主要考的是算法题目。相比于C++, Python 是一门更容易学习的语言,应用领域也非常广泛,特别是在人工智能领域,Python有绝对的优势。如果你的目标是希望NOIP获奖,从而有机会择校的话,那么只能选择C++ 语言。如果是希望孩子接触编程,具备编程思维,想把一种编程语言作为一门必备工具,用于今后的生活工作的话,Python应该会更加适合。
我个人是比较推崇Python的,针对孩子教学,也主要使用的是Python语言,相比于竞赛拿名次,我更希望他能够掌握一个强大的编程工具。说起Python语言,它的入门书籍市面上很多,免费的网上学习资料也很多,但是真正适合孩子起步学习的资料相比而言就比较少了。在挑选入门教材的时候,我所遵从的指导原则有以下几点:
- 知识点学习要有层次感,要系统化
语言的入门首先是要掌握基本的语法(在程序开发中成为关键字),Python 涉及到的语法关键字并不多,这些语法点也是从易到难有一个递进的顺序,有些概念学生前期是无法理解的,例如 异常,类,成员函数 等这些 关键字,这些都与面向对象的编程相关,比较难于理解,所以对于启蒙阶段,还是应该从基本的过程式编程开始学习,随着不断的深入,逐渐把这些概念展开。
- 程序的输出要让孩子可见,让孩子喜欢
编程最有意思的事情就是,你可以通过一些代码来控制程序的输出。孩子通过编程的学习,会觉得自己非常强大,能够控制电脑做事情。但在初学阶段,由于程序比较简单,所以输出一般也都比较简单,如果是使用默认的命令行输出,黑压压的一个小屏幕,看起来一点也不酷。如果能够通过图形化输出,孩子将会觉得更加有趣。以下两张程序输出界面,比较一下就能知道差别了。
- 每个知识点一定要对应一个有价值的小项目
不管哪种语言,语法学习都是比较枯燥的,如果不通过练习,语法很难记住。所以每个语法关键字学完之后,都应该配合一个练习,这个练习最好是一个完整的小程序,学生可以通过这个程序体验到即时的反馈,从而对学习的知识点有一个更深入的了解和记忆。
本着以上三点指导要求,我查找了市面上的Python书籍,发现以下这本书是比较符合要求的,书名是:教孩子学编程(Python语言版),是由 Bryson Payne 著,李军翻译的。这套书就是为孩子学习Python 准备的。它采用了海龟画图的库,所有的程序都是图形化输出的,更容易引发学生的兴趣点。同时,在每个章节,都给出了有价值的程序,这些程序虽然简短,但输出非常绚丽,并且很好的结合了所学习的知识点,能够加强学生记忆和理解。
如果你也有意向让孩子学习编程,并且想尝试学习Python语言,可以考虑把这本书当作入门书籍,相信通过这本书的学习,孩子一定会打下一个坚实的语言基础。