【伯乐在线导读】:本文作者Peter Norvig目前任职于Google,其职位是研究主管(Director of Research). Peter Norvig是享誉世界的计算机科学家和人工智能专家。他是 AAAI 和 ACM 的会员,是业界内经典书籍《Artificial Intelligence: A Modern Approach | 人工智能:一种现代方法》的作者之一。在加入Google之前,他曾经是 NASA 计算科学部门的主要负责人,并在南加州大学以及伯克利大学任教。以下为译文。
从上面的搜索结果可以看出来,要么就是人们对计算机技术的学习如饥似渴,要么就是计算机技术实在太简单,不费吹灰之力就能学会。相比于计算机技术书籍的如此“速成”,在其他领域的书籍里,你却很难找到诸如:“三天学会贝多芬”,或者“五天搞定量子力学”,这种速成教材,甚至连《狗狗喂养手册》这种宠物指南,都鲜有“几天搞定”的说法。Felleisen et al.在他们的著作《如何设计程序》一书中明确指出了这种“速成”的趋势,并评论到:“垃圾的编程技术当然非常容易,傻子都能在21天之内学会,哪怕他天生就是个白痴。”
程序. 最好的学习方式是“在实践中学习”。更技术一些地说:“一个人在某个专业领域方面能够达到最高水平,并不是因为这个人经验增长了以后而自动获得的,而是这个人为了进步所做出了专门的努力之后产生的结果。”(p. 366)“最有效的学习包括如下几个要素:明确并且难度适当的任务,适应学习者个人情况,及时的信息反馈,有重新开始和改正错误的机会)(p. 20-21) 《Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life》这本书提供了上述有趣的观点
模式编程:《Structure and Interpretation of Computer Programs (Abelson & Sussman) | 计算机程序的构造和解释》 这本书或许是计算机科学最好的入门书籍,本书从计算机科学的角度入手,教你如何进行编程。你可以在online videos of lectures观看本书的在线视频教程,以及complete text online的在线文字版。 学习本书是需要一些挑战的,相信该书会让一部分人望而却步的。
模式编程:《How to Design Programs (Felleisen et al.) | 程序设计方法》是一本好书,该书介绍了如何用优雅并且有效的方式进行程序设
Python: Python Programming: An Intro to CS (Zelle) 是一本介绍Python的好书
Python: Python.org官方网站上提供了一些在线教程 tutorials.
Oz: Concepts, Techniques, and Models of Computer Programming (Van Roy & Haridi) 被看做是Abelson & Sussman(经典计算机教程《计算机程序的构造和解释》的作者——译者注)的当代传承者。该书绘制了一幅关于计算机编程的宏观蓝图,它囊括了比Abelson & Sussman的经典教材更广泛的知识领域,也更加通俗易懂。此书中使用了一种编程语言,Oz, 这种语言在工业领域内几乎不被使用,其主要目的就是针对于教学
备注
T. Capey指出,Amazon网页上那个Complete Problem Solver页面把《21天搞定孟加拉语》以及《21天学会语法》这两本书移到了“购买此书的用户还购买过这些产品”这个区域内。我估计大部分人就是从这个区域看到这本书的。感谢Ross Cohen的帮助。