编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用。本文推荐的几本书中分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序员一样思考。
像程序员一样思考(修订版)
全书分为8章。第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写C++代码来解决几个简单的问题,从而让读者进一步体会到问题解决的思路和应用。第3到7章是本书的主体部分,分别探讨了用数组、指针和动态内存、类、递归和代码复用来解决问题的途径和实际应用。最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
下面推荐的是Allen B. Downey的几本书。他是自由书籍的倡导者,也是Google公司前客座科学家。Downey已出版十余本技术书,内容涉及Java、Python、C++、概率统计等,深受专业读者喜爱。他的Think系列书有Think Complexity: Complexity Science and Computational Modeling、Think Python。
像计算机科学家一样思考Python
《像计算机科学家一样思考Python》按照培养读者像计算机科学家一样的思维方式的思路来教授Python语言编程。全书贯穿的主体是如何思考、设计、开发的方法,而具体的编程语言,只是提供一个具体场景方便介绍的媒介。《像计算机科学家一样思考Python》并不是一本介绍语言的书,而是一本介绍编程思想的书。和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来引导读者渐入佳境。
全书共19章和3个附录,详细介绍了Python语言编程的方方面面。《像计算机科学家一样思考Python》是一本实用的学习指南,适合没有Python编程经验的程序员阅读,也适合高中或大学的学生、Python爱好者及需要了解编程基础的人阅读。对于第一次接触程序设计的人来说,是一本不可多得的佳作。
像计算机科学家一样思考C++
全书共15章。第1章介绍了编程的基本知识,即什么是编程以及如何编程。第2章到第9章介绍了C++的基本元素与基本语法,包括变量、类型、函数、迭代、字符串、结构体等等;第10章到第15章介绍了C++的高级功能,包括Vectors、成员函数、类和不变式、文件输入输出等。
像计算机科学家一样思考Java
全书共15章。第1章介绍了编程的基本知识,即什么是编程以及如何编程。第2章到第4章分别介绍了变量和类型、无返回值方法、条件语句和递归等基础知识;第6章到第9章分别介绍了带返回值的方法、迭代、循环、字符串和可变对象;第11章到第15章则分别介绍了对象、数组、面向对象编程等相对高级的话题。全书贯穿了一个GridWorld的程序示例,分三个部分逐步扩展,分别在第5章、第10章和第16章介绍,用以巩固前面相应各章所介绍的知识和概念。附录A介绍了Java图形编程,附录B介绍了Java中的输入输出,附录C和D分别从程序开发和调试的角度给出了有用的建议。
贝叶斯思维:统计建模的Python学习法
本书在共计15章的篇幅中讨论了怎样解决十几个现实生活中的实际问题。在这些问题的解决过程中,作者还潜移默化的帮助读者形成了建模决策的方法论,建模误差和数值误差怎么取舍,怎样为具体问题建立数学模型,如何抓住问题中的主要矛盾(模型中的关键参数),再一步一步的优化或者验证模型的有效性或者局限性。在这个意义上,这本书又是一本关于数学建模的成功样本。
网友评论