编程
父与子的编程之旅 豆瓣
作者: 桑德 (Warren Sande) / 桑德 (Carter Sande) 译者: 苏金国 / 易郑超 出版社: 人民邮电出版社 2014 - 10
本书是一本家长与孩子共同学习编程的入门书。作者是一对父子,他们以Python语言为例,详尽细致地介绍了Python如何安装、字符串和操作符等程序设计的基本概念,介绍了条件语句、函数、模块等进阶内容,最后讲解了用Python实现游戏编程。书中的语言生动活泼,叙述简单明了。 为了让学习者觉得编程有趣,本书编排了很多卡通人物及场景对话,让学习者在轻松愉快之中跨入计算机编程的大门。
第 2 版新增内容
首先,我们来说说第 2 版中有哪些内容没有改变,那就是我们决定在第 2 版中继续使用 Python 2,而不是转换到 Python 3。我们会在第 1 章解释其中的原因。
下面是第 2 版与第 1 版的不同之处
增加了一些说明,解释 Python 2 和 Python 3 的区别。
第 12 章增加了一节关于 Python 字典的内容。
在第 20 章的 GUI 编程部分,我们将不再被支持的 PythonCard 换成了应用更广泛的 PyQt。PyQt 也用在第 22 章的 Hangman 程序和第 24 章的电子宠物程序中。
增加了第 25 章,用来详细解释第 10 章中的 Skier 程序。
增加了第 26 章,讲述在简单的对战游戏中,如何编写一个有人工智
环境与生态统计 豆瓣
作者: 钱松 译者: 曾思育 2011 - 7
《环境与生态统计:R语言的应用》内容简介:在强调统计思维的归纳性本质基础上,《环境与生态统计:R语言的应用》把应用统计学跟环境与生态领域关联到一起。《环境与生态统计:R语言的应用》遵循解决统计建模问题的一般方法。内容覆盖了模型界定、参数估值和模型评估。作者用了很多实例来阐述统计学模型以及如何用R语言来实现模型。《环境与生态统计:R语言的应用》首先为开展简单的数据分析任务提供了基础知识。例如探索性数据分析和线性回归模型拟合。接下来重点介绍了统计建模,包括线性和非线性模型、分类和回归树以及广义线性模型。书中还讨论了用于模型检验的模拟,为开发出的模型提供评估工具,同时探讨了多层回归模型这类会对环境和生态学数据分析产生广泛影响的模型。
《环境与生态统计:R语言的应用》重点针对的是环境和生态学问题的统计建模和数据分析。通过引导读者理解解决科学问题和开发统计模型的过程,轻松地从科学假设过渡到统计模型。
集体智慧编程 豆瓣
Programming Collective Intelligence
8.0 (17 个评分) 作者: Toby Segaran 译者: 莫映 / 王开福 出版社: 电子工业出版社 2009 - 1
本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
本书是Web开发者、架构师、应用工程师等的绝佳选择。
Python编程 豆瓣
Python Crash Course
9.1 (37 个评分) 作者: [美] 埃里克·马瑟斯 译者: 袁国忠 出版社: 人民邮电出版社 2016 - 7
本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。
The Master Algorithm 豆瓣
作者: Pedro Domingos 出版社: Basic Books 2015 - 9
A thought-provoking and wide-ranging exploration of machine learning and the race to build computer intelligences as flexible as our own
In the world's top research labs and universities, the race is on to invent the ultimate learning algorithm: one capable of discovering any knowledge from data, and doing anything we want, before we even ask. In The Master Algorithm, Pedro Domingos lifts the veil to give us a peek inside the learning machines that power Google, Amazon, and your smartphone. He assembles a blueprint for the future universal learner--the Master Algorithm--and discusses what it will mean for business, science, and society. If data-ism is today's philosophy, this book is its bible.
人类的认知 豆瓣
作者: (美)司马贺 / 赫伯特·西蒙 译者: 荆其诚 / 张厚粲 出版社: 科学出版社 1986 - 11
赫伯特·亚历山大·西蒙(英语:Herbert Alexander Simon,1916年6月15日-2001年2月9日),汉名为司马贺,美国著名学者、计算机科学家和心理学家。
自 1972 年起,中国学术界与西蒙有了近 30 年的交往,他与许多中国同行建立了亲密的友谊。 1983 年春,应中国科学院的邀请,西蒙教授到中国科学院心理研究所进行科研合作,其间还在北京大学系统地讲授了认知心理学。在3个月的讲演中,他从理论上讲解了认知科学的基本观点,阐述了科学理论的层次和规律、物理符号系统、满意的原则等理论问题,还介绍了EPAM 程序、启发式搜索等实际应用的问题。这次讲课内容后来整理成书正式出版,即《人类的认知一思维的信息加工理论》 一书。
编码 豆瓣 Goodreads
Code: The Hidden Language of Computer Hardware and Software
9.1 (49 个评分) 作者: [美] Charles Petzold 译者: 左飞 / 薛佟佟 出版社: 电子工业出版社 2010
本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。
计算机代数系统的数学原理 豆瓣
作者: 李超 / 阮威 出版社: 清华大学出版社 2010 - 10
《计算机代数系统的数学原理》主要介绍了计算机代数系统的数学理论、经典结果和著名算法。全书包含高精度运算、数论、数学常数、精确线性代数、多项式、方程求解、符号极限、符号求和、符号积分、微分方程符号解等10个部分,涵盖了构建计算机代数系统的最基础也是最重要的内容。书中的许多内容是第一次被系统地整理后出现在中文文献中,并在一些领域体现了本方向的最新进展。
汇编语言(第2版) 豆瓣
9.0 (6 个评分) 作者: 王爽 出版社: 清华大学出版社 2008 - 4
《汇编语言(第2版)》是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言,作者以循序渐进的思想精心创作了《汇编语言(第2版)》。《汇编语言(第2版)》具有如下特点:采用了全新的结构对课程的内容进行组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在深入本质的层面上对汇编语言进行讲解;对关键环节进行深入的剖析。
Lua设计与实现 豆瓣
作者: codedump 出版社: 人民邮电出版社 2017 - 8
本书首先介绍了Lua中的数据结构,比如通用数据是如何表示的、Lua的字符串以及表类型的实现原理,接着讨论了Lua虚拟机的实现,并且将其中重点的一些指令进行了分类讲解,最后讨论了垃圾回收、模块实现、热更新、协程等的实现原理。
深入理解计算机系统 豆瓣 Goodreads
Computer Systems: A Programmer's Perspective
作者: Randal E.Bryant / David O'Hallaron 译者: 龚奕利 / 雷迎春 出版社: 中国电力出版社 2004 - 5
从程序员的视角,看计算机系统!
本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。
本书的主要论题包括:数据表示、C程序的机器级表示、处理器结构,程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程。书中所覆盖的内容主要是这些方面是如何影响应用和系统程序员的。例如,在讲述数据表示时,本书说明了用来表示数字的表示方法是有限的,它能够近似地表示整数和实数,但是这种表示方法是有限制的,程序员必须了解。在讲述高速缓存时,本书讨论了矩阵代码中的循环变量的顺序是如何影响程序的性能的。在讨论网络互连时,本书描述了并发服务器如何能有效地处理来自多个客户端的请求。
本书基于Intel兼容(IA32)机器,在Unix或者相关的操作系统(例如,Linux)上执行C程序。虽然书中包括了一些帮助读者将Java转化成C的提示,但是还是要求读者对C或者C++有一定的了解。
您可以通过本书的Web网站www.csapp.cs.cmu.edu获得完整的资料,包括实验和作业,授课笔记和代码示例。
本书英文版久负盛名,被众多专业人士称为“最伟大的计算机教材”之一,著名的美国卡内基梅隆大学计算机科学系一直将本书作为教材使用,程序员眼中的透彻讲述计算机系统的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大学的计算机科学系主任,ACM和IEEE双院士(Fellow),其研究成果多次获得ACM和IEEE颁发的大奖。
本书共分十三章,分别介绍了信息的表示和处理、程序的机器级表示、处理器体系结构、存储器层次结构、静态和动态链接、虚拟存储器、系统级I/O、网络编程和并发编程等精彩内容。其目的是解释计算机系统的所有本质概念,并向读者展示这些概念是如何实际地影响应用程序的正确性、性能和实用性。与其他主要针对系统构造人员的系统类书籍不同,这本书是写给程序员的,是从程序员的角度来描述的。本书为软件和硬件之间搭起了一个桥梁,它给出了一种帮助读者分别从硬件和软件的角度去理解一个程序及其行为的途径,这也填补了国内计算机系统教学中的一个空白。本书的最大优点是帮助读者理解概念,让读者很清楚地在脑海中构造一个层次型的计算机系统,从最低层数据在内存中的表示(如我们一直陌生的浮点数表示),到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户应用。
本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。
LaTeX入门 豆瓣
作者: 刘海洋 出版社: 电子工业出版社 2013 - 6
LaTeX 已经成为国际上数学、物理、计算机等科技领域专业排版的实际标准,其他领域(化学、生物、工程、语言学等)也有大量用户。本书内容取材广泛,涵盖了正文组织、自动化工具、数学公式、图表制作、幻灯片演示、错误处理等方面。考虑到LaTeX 也是不断进化的,本书从数以千计的LaTeX 工具宏包中进行甄选,选择较新而且实用的版本来讲解排版技巧。
为了方便读者的学习,本书给出了大量的实例和一定量的习题,并且还提供了案例代码。书中的示例大部分来自作者多年的实际排版案例,读者不断练习,肯定能掌握LaTeX 的排版技能。
本书适合数学、物理、计算机、化学、生物、工程等专业的学生、工程师和教师阅读,也适合中学数学教师。此外,本书还适合对LaTeX 排版有兴趣的人员。
七周七语言 豆瓣
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
8.8 (19 个评分) 作者: [美] Bruce A. Tate 译者: 巨成 / 戴玮 出版社: 人民邮电出版社 2012 - 5
从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本书。
汇编语言(第3版) 豆瓣
9.6 (5 个评分) 作者: 王爽 出版社: 清华大学出版社 2013 - 9
《汇编语言(第3版)》具有如下特点:采用了全新的结构对课程的内容进行组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在深入本质的层面上对汇编语言进行讲解;对关键环节进行深入的剖析。《汇编语言(第3版)》可用作大学计算机专业本科生的汇编教材及希望深入学习计算机科学的读者的自学教材。
程序员的数学3 豆瓣
作者: [日] 平冈和幸 / [日] 堀玄 译者: 卢晓南 出版社: 人民邮电出版社 2016 - 3
本书沿袭“程序员的数学”系列平易近人的风格,用通俗的语言和具象的图表深入讲解了编程中所需的线性代数知识。内容包括向量、矩阵、行列式、秩、逆矩阵、线性方程、LU分解、特征值、对角化、Jordan标准型、特征值算法等。
网络科学 豆瓣
Network Science:Theory and Applications
作者: (美)Ted G.Lewis 译者: 陈向阳 / 巨修练 出版社: 机械工业出版社 2011 - 10
网络科学作为一门新兴的学科越来越引入瞩目。网络科学能帮助读者设计更快、更有弹性的通信网络;能用于调整电力网络、电信网络和飞行航线等基础设施系统;可以为市场动态建模;能帮助理解生物系统中的同步;能用于分析人们之间的社会互动……
这是第一本全面审视新出现的网络科学的论著。书中研究了各种网络——规则网络、随机网络、小世界网络、影响网络、无标度网络和社会网络等,并将网络过程和行为应用于涌现、传染病、同步和风险方面。本书的独特之处在于将跨计算机科学、生物学、物理学、社会网络分析、经济学和市场营销等多学科的专业概念整合了起来。
本书为网络科学领域提供了全新的理解和阐释,是研究人员、专业人员以及工程、计算、生物领域的技术人员不可缺少的参考资料,也可以作为相关领域研究的高年级和研究生教材。
R语言实战 豆瓣
R in Action
9.3 (6 个评分) 作者: 卡巴科弗 译者: 高涛 / 肖楠 出版社: 人民邮电出版社 2013 - 1
数据时代已经到来,但数据分析、数据挖掘人才却十分短缺。由于“大数据”对每个领域的决定性影响, 相对于经验和直觉,在商业、经济及其他领域中基于数据和分析去发现问题并作出科学、客观的决策越来越重要。开源软件R是世界上最流行的数据分析、统计计算及制图语言,几乎能够完成任何数据处理任务,可安装并运行于所有主流平台,为我们提供了成千上万的专业模块和实用工具,是从大数据中获取有用信息的绝佳工具。  本书从解决实际问题入手,尽量跳脱统计学的理论阐述来讨论R语言及其应用,讲解清晰透澈,极具实用性。作者不仅高度概括了R语言的强大功能、展示了各种实用的统计示例,而且对于难以用传统方法分析的凌乱、不完整和非正态的数据也给出了完备的处理方法。通读本书,你将全面掌握使用R语言进行数据分析、数据挖掘的技巧,并领略大量探索和展示数据的图形功能,从而更加高效地进行分析与沟通。想要成为倍受高科技企业追捧的、炙手可热的数据分析师吗?想要科学分析数据并正确决策吗?不妨从本书开始,挑战大数据,用R开始炫酷的数据统计与分析吧!  本书内容:  R安装与操作
数据导入/导出及格式化双变量关系的描述性分析回归分析
模型适用性的评价方法以及结果的可视化
用图形实现变量关系的可视化
在给定置信度的前提下确定样本量
高级统计分析方法和高级绘图
Python学习手册 豆瓣 Goodreads
Learning Python
8.5 (8 个评分) 作者: [美] Mark Lutz 译者: 侯靖 出版社: 机械工业出版社 2009 - 8
《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它。
《Python学习手册(第3版)》是作者根据过去10年用于教学而广为人知的培训课程的材料编写而成的。除了有许多详实说明和每章小结之外,每章还包括一个头脑风暴:这是《Python学习手册(第3版)》独特的一部分,配合以实用的练习题和复习题,让读者练习新学的技巧并测试自己的理解程度。
《Python学习手册(第3版)》包括:
类型和操作——深入讨论Python主要的内置对象类型:数字、列表和字典等。
语句和语法——在Python中输入代码来建立并处理对象,以及Python一般的语法模型。
函数——Python基本的面向过程工具,用于组织代码和重用。
模块——封装语句、函数以及其他工具,从而可以组织成较大的组件。
类和OOP——Python可选的面向对象编程工具,可用于组织程序代码从而实现定制和重用。
异常和工具——异常处理模型和语句,并介绍编写更大程序的开发工具。
讨论Python 3.0。
《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后遇到的任何Python应用程序实例。如果你准备探索Google和YouTube为什么选中了Python,《Python学习手册(第3版)》就是你入门的最佳指南。
Python源码剖析 豆瓣 Goodreads
9.1 (11 个评分) 作者: 陈儒 出版社: 电子工业出版社 2008 - 6
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。.
为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。..
本书适合于Python程序员、动态语言爱好者、C程序员阅读
Is Parallel Programming Hard, And, If So, What Can You Do About It? 豆瓣
Paul E. McKenney
作者: Paul E. McKenney
The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the past, we hope to help you avoid at least some of the pitfalls that have beset parallel projects. But you should think of this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming, progress that should in time render this book obsolete. Parallel programming is not as hard as it is reputed, and it is hoped that this book makes it even
easier for you.