好书推荐:《像计算机科学家一样思考Python》

我竟然前几天才刚注意到这本书:

快速通读一遍,就觉得教 Python 的老师们都应该看这本书;一开始我甚至觉得学 Python 就该从这本书开始。后来从 ET 群里的交流来看,它并不适合完全没有编程基础的初学者,也许已经看过别的 Python 入门书或者已经有别的编程语言基础的人来看会更合适。

不管如何,还是要强烈推荐。

书中谈了很多看起来很简单、但其实非常重要的写代码的原则。举几个例子:

为啥要写注释以及什么样的注释才是好注释:

为啥要使用函数:

为啥要有接口:

相信很多技术管理者看到这些内容后的第一反应,就是真希望团队里代码习惯糟糕的同学当初是用这本书来学编程:对于程序员来说,这些真的是最基本的要求呢。但对于只打算学会编程这种工具、以后并不打算以此为生的人来说,是不是就不需要学这些了呢?其实也应该学。它们看似简单琐碎,其实包含了计算机领域非常重要的概念,例如封装、模块化。所谓的计算思维,也体现在这样的代码中呢。

这本书还用平实顺畅的语言,教了很多看起来普通、其实非常好用的编码和调试的方法。例如:

增量开发技巧:

(顺便说一句,使用 logging 比直接打印字符串更符合 best practice 一些,但书中用 print 可以避免依赖别的知识。)

调试技巧:

哈佛大学“用 Scratch 发展创意计算思维”的教学研究中提出的三维框架,其中实践的维度提到“尝试与迭代”、“测试与调试”,这些到底如何进行,从这本书中就能找到答案;你若照着去做,也将慢慢体会到它们的巨大价值。

截图来自 http://scratched.gse.harvard.edu/ct/defining.html

今天和 ET 群的老师们交流时,有老师说这本书学习曲线有些高,孩子们需要快速获得成就感,而不是进行这样的专业训练。在“如何教”上,我赞同他说的;但在“教不教”这个层面上,我更倾向于不管会不会成为程序员,这些内容都得教。就像学网球哪怕只是出于兴趣玩玩也得一开始就学会标准姿势否则麻烦多多。所以,把它推荐给教孩子们 Python 的老师。特别是如果你认为自己缺乏工程经验、不知道真正的程序员是如何思考的,这本书可以帮到你。

欢迎教 Python 的老师留言聊聊你对这本书的看法。

我一直想在计算机工程师和中小学信息技术老师之间架一座桥,通过双方的合作,促进我国的中小学计算机科学教育。

这是一个

蹒跚但充满希望的开始

,接下来我们将更频繁的举办线上沙龙,并将有意义的交流沉淀下来,惠及更多伙伴。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181031G1XFIV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券