这些书籍构成了计算机科学课程的核心和专业阅读列表。它们涵盖了算法、系统、语言、理论以及软件工程的更广泛的工艺--对于任何认真对待计算机科学的人来说,都是必读之作。

基础计算机科学教科书

确立计算机科学理论和实践基础的书籍。

书籍作者年份级别描述
计算机程序的结构与解释
第2版,麻省理工学院出版社
哈罗德·阿贝尔森,杰拉尔德·杰伊·萨斯曼,朱莉·萨斯曼1996中级-高级传奇的“SICP”--可以说是有史以来最具影响力的计算机科学教科书。使用Scheme教授计算作为一种思维模型。在线免费提供。
算法导论
第4版,麻省理工学院出版社
托马斯·H·科门,查尔斯·E·莱瑟森,罗纳德·L·里维斯特,克利福德·斯坦2022中级-高级权威的算法教科书(“CLRS”),在超过1000所大学使用。对所有标准算法进行了严格的覆盖,包括证明和分析。
计算机系统:程序员的视角
第3版,培生
兰道尔·E·布莱恩特,大卫·R·奥哈拉伦2015中级-高级卡内基梅隆大学的“CSAPP”--从程序员的角度介绍计算机系统的最佳书籍。涵盖机器代码、内存、链接、进程和网络。

计算理论

自动机、可计算性、复杂性理论和逻辑。

书籍作者年份级别描述
计算理论导论
第3版,Cengage
迈克尔·西普塞尔2012中级-高级标准的本科理论教科书。对自动机、可计算性和复杂性进行了清晰、严格的处理,并提供优雅的证明。
计算复杂性:现代方法
剑桥大学出版社
桑杰夫·阿罗拉,博阿兹·巴拉克2009高级现代研究生复杂性理论,涵盖P与NP、随机化、去随机化、量子复杂性和交互证明。在线免费提供。
自动机理论、语言与计算导论
第3版,培生
约翰·E·霍普克罗夫特,拉吉夫·莫特瓦尼,杰弗里·D·乌尔曼2006高级经典的正式语言和自动机理论的严格处理。

操作系统与系统编程

操作系统如何工作以及如何编程。

书籍作者年份级别描述
操作系统:三个简单的部分
阿尔帕奇-杜塞书籍
雷姆齐·H·阿尔帕奇-杜塞,安德烈亚·C·阿尔帕奇-杜塞2018中级现代、免费的、写得极好的操作系统教科书,围绕虚拟化、并发和持久性组织。最好的免费计算机科学教科书。
操作系统概念
第10版,Wiley
亚伯拉罕·西尔伯沙茨,彼得·B·加尔文,格雷格·加涅2018中级“恐龙书”--长期以来的标准操作系统教科书,涵盖全面。
Linux编程接口
No Starch Press
迈克尔·凯里斯克2010高级Linux系统编程的权威参考。对系统调用和POSIX API进行了详尽的覆盖。

编程语言与编译器

语言设计、实现和编程范式。

书籍作者年份级别描述
编译原理、技术与工具
第2版,培生
阿尔弗雷德·V·阿霍,莫妮卡·S·拉姆,拉维·塞提,杰弗里·D·乌尔曼2006高级“龙书”--标准编译器教科书,涵盖词法分析、解析、类型检查、优化和代码生成。
编程语言实用主义
第4版,摩根·考夫曼
迈克尔·L·斯科特2015中级-高级对编程语言及其实现的全面处理。
类型与编程语言
麻省理工学院出版社
本杰明·C·皮尔斯2002高级经典的类型理论教科书。对任何对编程语言理论或形式方法感兴趣的人来说都是必不可少的。

软件工艺与经典

每位专业程序员都应该阅读的关于编程工艺的书籍。

书籍作者年份级别描述
计算机程序设计艺术
阿迪森-韦斯利
唐纳德·E·克努斯1968-至今高级克努斯的宏伟多卷本作品(“TAOCP”)。阅读不轻松,但关于基本算法的终极参考。
务实的程序员
20周年纪念版,阿迪森-韦斯利
大卫·托马斯,安德鲁·亨特2019初学者-中级两位经验丰富的开发者对编程工艺的提炼智慧。新软件工程师的必读书籍。
代码大全
第2版,微软出版社
史蒂夫·麦康奈尔2004中级有史以来最全面的软件构建实践指南。