每个分支比较经典的书可能不止一本,有些适合本科生的,有些是适合研究生的。可以只买我后面打了(重点推荐)的,呵呵。比较多,大概30本左右。

先是离散数学,数据结构,算法,计算理论部分
1. 离散数学及其应用(重点推荐)
2. 具体数学:计算机科学基础(重点推荐)
3.  数据结构与算法分析–C语言描述
    数据结构与算法分析–C++描述
    数据结构与算法分析–Java 语言描述(重点推荐)
    这3本是一个作者写的,只是不同语言版本,内容基本是一样的,你可以任选一本。我更推荐Java的,北美现在绝大部分大学数据结构都用Java讲了。不过Java版本的好像绝版了,china pub还有二手书再买,说是2手,其实基本是新的,库存比较久而已。
4.  算法概论
    这书二三作者是berkeley的两位超级大牛,通俗易懂,只有300来页,很多名校用这本书做本科算法课的教材。用来入门很好。
5. 算法设计(重点推荐)
   这本书是cornell两个大牛写的,比上本书出得早,内容也比上本书丰富得多,800多页,但难度也大不少。同样是北美众多名校算法课教材。
6. 算法导论(重点推荐)
   MIT的算法导论。此书并不适合做教材,更像是一本reference,1100多页。北美名校用这个当本科教材的不多了,不过很多研究生算法课依然用这本书做教材。我们系大3的算法课(我老板开的)也是用这本书当教材。我觉得将来工作的话,这本书比4和5更有用,那俩更适合学习。算法对计算机专业学生来说,特别重要,我推荐你3本都买。
7.  计算机程序设计艺术 第1卷 基本算法
    计算机程序设计艺术 第2卷 半数值算法
    计算机程序设计艺术 第3卷 排序和查找
    Knuth的3卷本,这个算是计算机界的荷马史诗,不过内容有些老了,收录的topic比较窄,算法导论上很多高级topics这本书都没有,难度也特别大,不适合学习。Knuth原计划写7卷的,好像是70年代开始写,到现在第4卷还没写完,估计他挂前,能完成前5卷就不错了,呵呵。对了,这本书国内好几个出版社在做,清华最早出的,01年左右,我买的是清华版的,里面错误很多,knuth网页上的errata文件就有40多页。机工08年重新影印了,里面绝大部分错误都已经按北美的new printing校正了。图灵据说会再影印,不过到现在还没出。
8. 计算理论导引(英文影印版)(第2版) (重点推荐)
    这本书是计算理论最好的入门书。本科生用这本教材足够了,MIT, Berkeley, CMU, UWash等都是用这本书的。计算理论分3部分:形式语言与自动机,可计算性,计算复杂性。这3个分支都还各有一本经典的入门书。
    形式语言与自动机的是自动机理论、语言和计算导论(英文版·第3版) (推荐),这个是waterloo本科生的教材,stanford和columbia的几位大牛写的。这本书你可买可不买,如果将来要去waterloo读书,再买也不迟,呵呵,我觉得《计算理论导引》足够了。另外俩分支的书很少有学校拿来做本科生教材了,我就不说了,呵呵。

再是系统部分
9. 深入理解计算机系统(重点推荐)
10. 计算机组成与设计硬件/软件接口(重点推荐)
    这本书是北美这边本科体系结构课的必选教材。不过遗憾的是,现在Morgan Kaufmann只让大陆影印ARM版的,北美用的是MIPS版的。第3版大陆引进的是MIPS版的,你可以考虑买个第4版的arm版本,再下个mips版的电子版;或者买大陆引进的第3版mips版。
11. 计算机体系结构:量化研究方法
     10-11这两本书是stanford校长和berkeley一个超级大牛合写的。11是10的研究生版,基本是各个名校cs phd体系结构方向qualify考试的参考书,难度大。你不打算读研的话,可以不用看。10应该够了。
12. 操作系统概念(重点推荐)
13. 现代操作系统(推荐)
      12-13是操作系统最经典的两本书,不过北美大部分学校还是用12这本当教材。你可以选第一本就行。将来去哪个学校读书的话,可以再看下学校是用哪本(多大好像是用13,waterloo用的12)。如果用13,再买13就好了,呵呵。
14. 计算机网络:自顶向下方法(重点推荐)
15. 计算机网络系统方法
      14-15是网络最经典的两本书。14简单些,15难度有些大。大部分学校用14当本科生教材,15当研究生教材。不过有不少名校直接用15当本科生教材。我个人觉得14足够了。
16. 数据库管理系统原理与设计(重点推荐)
17. 数据库系统概念 
      大部分北美名校用16当数据库教材。不过我记得Yale,Brown,U of Toronto是用这本当教材的。这个是yale的教授写的。我个人觉得不如16.
18. 编译原理 技术与工具
19. 软件工程Software Engineering: A Practitioner\’s Approach,Sixth Edition(重点推荐) 
20. 计算机系统设计原理(重点推荐)
      MIT 6.033教材,MIT两位超级大牛写的,二作是现在操作系统界的老大。这本书只出版了前半部分,后半部分作者无偿放网上了:http://ocw.mit.edu/resources/res-6-004-principles-of-computer-system-design-an-introduction-spring-2009/online-textbook/ 
     
除了上面的,一般本科生还会开人工智能的课。
21. 人工智能:一种现代方法 第二版

理论课基本就这么多了,计算机专业的学生,一般得会C/C++,Java。

C的好书国内好像只影印了一本,其他书都没引进,只有翻译版。引进的是C语言之父写的书:
22. C程序设计语言(重点推荐)

C++很繁杂,好书很多,你从我这拷过的电子书里包括大部分了,呵呵,推荐你买基本最重要的吧
23. Accelerated C++(重点推荐)最好的C++入门书
24. C++ Primer(重点推荐)这个内容更全一些,难度相对第3版减少了很多,难度比较适中了
25. C++ 程序设计语言  C++之父写的,难度大
26. Effective C++:改善程序技术与设计思维的55个有效做法(重点推荐)
      这本书也是必须看的。不过好像国内绝版了,你看看其他地方还能找得到不。你拷的电子书里应该有这本。

Java的:
27. Java编程思想(重点推荐)
28. Java核心技术卷I:基础知识(推荐)
      Java核心技术 卷II:高级特性(推荐)
      27对java原理讲得很深刻,对学生来说,这本很好。28更适合找工作的人看。你可以只买27.

另外,设计模式也很重要,主要有两本书:
29. 设计模式:可复用面向对象软件的基础(重点推荐)
30. 深入浅出设计模式(英文影印版)(推荐)
第一本开创了这个领域,是bible,当然难度很大。第2本是head first系列,比较容易懂,不过23种设计模式没有讲全,只讲了其中一部分。

版权声明:本文为wghost原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wghost/archive/2012/09/22/2698146.html