`
xiebh
  • 浏览: 614009 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

计算机科学必读经典

阅读更多
A类. 基础

Structure and Interpretation of Computer Programs (SICP)

SICP 计算机程序的构造和解释 (SICP) 堪称是MIT计算机系的镇山之宝之一, 书中通过展示 LISP 语言和程序设计两条主线, 向读者展示了程序设计的几乎所有重要概念. 数十年来各种语言层出不穷, MIT 依然故我给入学本科生教 LISP. LISP 这种函数式的语言, 和过程语言相比, 理论更加优美(lambda 演算), 描述更加简洁. 现代的动态语言如 Javascript, Python 和 Ruby 都或多或少被 LISP 影响. 任何想写具有清晰结构, 或者正确思路的程序的人, 都应当阅读这本书. 好消息是, 这本书是可以在线免费看的.

The Art of Computer Programming (TAOCP)


计算机程序设计艺术 (TAOCP) 是计算机领域的一部未完成的里程碑. 如果之前没有听过它的大名, 那就不算学过计算机科学. Knuth (中文名高德纳) 阅读文献无数, 博古通今, 文风幽默. 书中讲解细致深入, 大开大阖. 如果说 SICP 是练童子功的话, 这本书就是属于名门正派的顶极内功. c0031186_46dce4fb1637c.gifTAoCP 上往往一个普通的习题, 就是一个很经典的结论; 往往不经意的一句话, 就是一个巧妙的算法. Knuth 常常把貌似不相关的结论深刻的联系在一起, 比如我现在读的第四卷第二册上九连环问题和Gray码是深刻联系的, 易经和生物遗传密码子也是有对应关系的(当然不是民科说的那种).

如此的打通任督二脉的例子和习题俯拾皆是, 真的是穷人进了皇宫的感觉. 即使对于面试工作, 这套书也是值得一翻的: 在Google面试的时候, 面试官问一道题目, 我很快给了一个答案, 其中用到了一个不太显然的结论. 面试官问, 这个结论怎么来的? 我说, TAOCP 第二卷讲了这道题目的一个推广情形. 面试官说, 这道题目就是看面试的有没有看过 TAOCP. 我看很多人面试之前都在网上疯狂做题, 尚不能穷其一隅. 其实读过 TAoCP 的人极少会害怕面试的时候那些技巧性的问题. 万变都极少超出TAOCP划出的框架.

Introduction to Algorithm (CLRS)

0262032937-f30.jpg算法导论 (Introduction to Algorithm), 在圈子里常常按四个作者的首字母写成 CLRS, 算是对不愿意看或者看不懂 TAOCP 的人送上了半个梯子(还有半个当属具体数学 Concrete Mathematics). 这本书在美国大部分大学中被列为算法类教材, 在国内也是 ACM 竞赛集训必看的教材之一. 虽然名字里面带一个导论, 内容却一点不含糊. 在我个人看来, 其内容基本覆盖绝大多数常用的算法, 在 NP 复杂性理论以及近似算法方面也有所涉及. 这本书最好的地方是习题详细且全部没有答案, 非常适合作为大学课本和ACM讨论班阅读材料, 最坏的地方也在于没有答案, 对于自学者来说, 可能会觉得枯燥无味且困难重重.

另: 如果有淘老书的习惯, 不妨选择 The Design and Analysis of Computer Algorithms (计算机算法设计与分析) 这本书在 CLRS 出现之前绝对是算法教材一哥. 可惜这本书一直没有更新, CLRS 才以算法多而全取胜.

Compilers: Principles, Techniques, and Tools

这就是著名的龙书 (Dragon Book) 啦. 和上面的 The Design 一样, 都是 Stanford 教授 Jeffrey D. Ullman 的巨著. 计算机的历史很大程度上是编译器发展的历史. 当年 Knuth 就是因为写了Alogo 60 编译器后, Addison-Wesley 过来找高爷爷约稿, 1962年的时候就让他写本编译器的书. Knuth 写啊写啊, 发现写了很久还没写到主题. 那边编辑急了, 说你都写了3000页手稿了, 你还不交稿. 高爷爷说, 这个, 我还没写到正题呢. 书商说, 算了, 你出多卷本吧. 于是才51xtgj64tzl.jpg有了 TAoCP. 这个小故事也就说明计算机编程的发展史和编译器的发展史是平行的. 龙书基本上框出了一个编译器的架子, 从词法句法分析到类型分析代码生成. 新版加入了JIT, 垃圾收集等现代特性. 这部巨作的作者阵容也是强大的: Alfred Vaino Aho 是 grep 和 awk 的作者. Ravi Sethi 以前在 Bell 实验室, 现在好像是朗讯的首席技术官. Avaya 实验室的头. 至于 Jeffrey Ullman 这个老头, 好玩的趣事就更加多了, 比如他是 Sergey Brin的导师, 他有两大不回信原则: 陶瓷信不回, 问书后习题信不回.

[under construction, more later...]

Modern OS

(Artificial Intelligence: A Modern Approach(AIMA)

Structured Compter Architecture

Computer Architecture: A Quantitative Approach

Computer Networks

B类, 编程

K&R C

Programming Pearls and More Programming Pearls
The Practice of Programming
Code Complete or The Elements of Programming Style
MMM(Mythical Man Month)
GoF’s Design Pattern
The Art of Unix Programming

C类, Geek

H2G2
GEB
How to Solve It
Elements of Style
The Cathedral and the Bazaar
分享到:
评论

相关推荐

    计算机科学经典书介绍

    在众多的计算机科学经典书籍中,有几部作品被广泛推崇为必读之作。例如,《计算机程序的构造和解释》(SICP),这是一本教授计算机科学理论的入门书籍,深刻揭示了编程语言的原理和本质,被业界视为学习计算机科学不...

    计算机科学与技术专业必读书目

    计算机科学与技术专业是现代科技领域中的核心学科之一,涵盖了从硬件到软件的广泛知识体系。对于这个专业的学生来说,掌握必要的基础知识和专业技能至关重要。以下是一些必修和选修课程的详细介绍,它们构成了一个...

    计算机专业必读书籍.docx

    这些书籍都是计算机专业学生和从业者必读的经典书籍,涵盖了计算机科学的基础知识和高级技术。 《算法导论》是计算机科学领域的经典书籍之一,介绍了算法的基础知识和高级技术,涵盖了排序、查找、图算法、动态规划...

    深入理解计算机系统(经典必读)

    《深入理解计算机系统》这本书被广泛认为是计算机科学领域的经典之作,它不仅深入浅出地介绍了计算机系统的内部运作机制,而且强调了程序员如何从底层理解程序执行的过程。通过本书的学习,读者可以全面了解计算机...

    Computer Science 计算机科学经典著作.pdf

    计算机科学经典著作 本资源摘要信息是关于计算机科学经典著作《计算机程序设计艺术》的知识点总结。该书系美国斯坦福大学...该书系计算机科学领域的必读书籍,对计算机科学领域的研究和实践者具有重要的参考价值。

    计算机科学经典论文.pdf

    计算机科学经典论文.pdf 计算机科学经典论文.pdf 中包含了一些非常重要和有影响力的论文,...这些论文都是计算机科学的经典论文,对计算机科学的发展产生了深远的影响,对有兴趣的开发者来说,这些论文都是必读材料。

    深入理解计算机系统(国外必读经典)

    【内容提要】 国外经典计算机科学教材:全书分别讲述了数据表示;C程序的机器级表示、处理器结构、程序优化、存储器层次结构、链接、虚拟存储器和存储器管理、网络编程和并发编程等诸多内容。 作者简介:Randal E. ...

    计算机科学中数理逻辑的金典必读阅读资料

    数理逻辑是计算机科学的基础,它是研究数学推理和形式系统的学科。在计算机科学中,数理逻辑被广泛应用于编程语言的理论、证明理论、计算复杂性理论以及软件验证等领域。模态逻辑、时序逻辑,如LTL(线性时间逻辑)...

    计算机专业必读书目.docx

    在这篇文章中,我们将推荐一些必读书目,帮助读者了解计算机科学的核心概念和技术。 首先,我们要推荐的是《计算机组成原理》。这本书是计算机科学专业的核心课程,对于理解计算机硬件、软件交互以及系统设计有重要...

    计算机科学与java书目

    根据提供的文件信息,我们可以归纳出一系列关于计算机科学与Java编程的经典书籍知识点,这些书籍涵盖了从Java基础学习到企业级应用开发的各个方面。 ### 关于Java编程的经典书籍 #### 1. **《Core Java》** - ...

    计算机科学概论-中文版

    《计算机科学概论-中文版》是一本被广泛采用的经典教材,适用于计算机科学入门课程。本书汇集了作者多年的教学经验和研究成果,不仅在国内受到高度评价,在国际上也被多所知名学府列为必读教材。全书覆盖了计算机...

    计算机类书籍-经典必读.docx

    《Unix》和《Linux》是系统操作的学习宝典,《图形编程》讲解图形用户界面设计,《数据结构》和《游戏编程》是计算机科学基础和游戏开发的核心,《操作系统》阐述系统原理,《单片机》和《串并口通讯》针对嵌入式...

    计算机 必读文章

    ### 计算机科学基础 计算机科学是一门研究计算机系统的设计、应用以及理论的学科。它包含了多个子领域,如算法设计、数据结构、编程语言、操作系统、网络、数据库、人工智能、图形学等。计算机科学家不仅关注于如何...

    计算机经典书籍

    【计算机经典书籍】涵盖的内容广泛,是学习计算机科学不可或缺的资源。这些书籍涉及了计算机科学的基础理论、编程语言、操作系统、算法与数据结构、电子技术、汇编语言以及硬件原理等多个方面。 首先,"计算机科学...

    湖北高职统考计算机考前必读

    ### 湖北高职统考计算机考前必读知识点概览 #### 一、考试结构与策略 - **试卷结构**: - 第一部分:20个选择题,每题3分。 - 第二部分:4个简答题,每题5分。 - 第三部分:2个操作题,每题10分。 - **复习...

    计算机科学概论(12版)(英文)(带目录)

    英文原版,带目录,12版,计算机入门类书籍,程序员必读书籍

    程序员必读书推荐

    最后,《哥德尔、艾舍尔、巴赫书:集异璧之大成》是一本挑战性的书籍,它不仅仅是关于程序设计的,而是将计算机科学与数学、哲学等领域的知识相联系,帮助程序员拓宽视野,激发思考。 这些书籍的推荐数反映了它们在...

Global site tag (gtag.js) - Google Analytics