如果你是计算机相关专业的学生(包括计算机科学与技术、软件工程等等),那么下面十本书应该成为你的案头书。网络上各种大牛都给出了自己的推荐书单(我会在本文最后列出几个广为流传的书单),而下面这些书之所以入选我的书单(至少满足下面几个条件中的一个):1)几乎被所有(或大部分)这些大牛推荐过;2)曾经拿过各种大奖并经久不衰的热销;3)我个人曾很认真的研读过并且在对比筛选之后仍然觉得是最值得推荐的。

特别说明:这些书基本上属于“专业通识”的范畴,我们并不就某一专业方向而讨论,所以如果你是搞图像处理的那么下面并没有这方面的书;这些书的读者对象并不限定阶段,也就是说无论你本科还是研究生,甚至博士还是已经工作的人都可以看也应该去看;此外,它们可以成为你某些课程的教材或参考读物(例如编程方面的),但更多的是作为课外读物的一种不可错过的选择。

1、编码:隐匿在计算机软硬件背后的语言

英文名:Code:The Hidden Language of Computer Hardware and Software
[美] Charles Petzold 著

永不褪色的计算机科学经典著作。本书是一本解释计算机运行原理的神作。全书不见任何晦涩生硬的概念,相反却是平常生活中用到的灯泡、电池、手电筒等穿梭其中。而流行歌手、历史人物、影评剧作等内容更是信手捏来且运用地毫无违和感。不经意间,让你将计算机组成原理、数字电子技术、计算机基础等内容彻彻底底合成一气,豁然顿悟。

本书作者Charles Petzold是Windows编程界的一位大师,当今世界项级技术作家。1994年5月,Petzold被《视窗杂志》和Microsoft公司联合授予Windows Pioneer奖(全世界只有7人获此殊荣,包括VB之父、Word之父等,但Charles Petzold是七人之中唯一的作家),以表彰他对Microsoft Windows所做出的贡献。

本书曾多次再版,豆瓣上有超过1600个点评,总评分为9.2,此外曾经推荐过这本书的名人包括(但不限于):刘未鹏(暗时间作者)、啊哈磊(《啊哈!算法》作者,http://www.ahalei.com/book-book.html)、洪强宁(豆瓣技术总监)、Joel Spolsky(Stackoverflow联合创始人)以及知乎大V 轮子哥(vczh)。

2、计算机科学丛书:深入理解计算机系统(原书第2版)

英文名:Computer Systems: A Programmer's Perspective

[美] Randal E. Bryant,David R.O Hallaren 著

卡耐基梅隆大学计算机学院院长、IEEE、ACM和美国工程院院士倾力之作。超过120所美国和世界一流大学计算机专业选用本书为教材。让你对计算机系统的认识深入无人之境,计算机专业不可不读的金玉之作。

3、C++编程思想 (包含1、2两卷,现在也有两卷合订本)

英文名:Thinking in C++

[美] Bruce Eckel 著

本书第一版曾获得1996年度,美国图书震撼大奖(Jolt Award),该奖是对技术书籍内容的顶级认可。我个人认为这本书的最大好处就在于充分体现了“循序渐进”的思想,作者引导读者学习完全是经过系统的设计与思考的,是逐步引导读者的一个有效过程,这本书最初主要是从C中的一些内容讲起的,对于那些学过C的人来说,进而学习C++,这部作品可谓不二首选。作者Bruce Eckel 同样是《Thinking In Java》的作者,他的这两部作品在全世界范围内都非常畅销。

4、C++ Primer(中文版 第5版)
[美] Stanley B. Lippman,Josée Lajoie,Barbara E. Moo 著

这是C++领域另外一本重磅的超级畅销书。风靡全球,经久不衰。众多资深专家力荐。这本书讨论的内容非常广泛,修订版还增加了C++中的许多新特性相关内容。我的意见是C++ Primer和Thinking in C++二者可以选择一本来读,编程语言的书,同一种语言不必读多本,毕竟会有很多内容相互重叠。

5、算法导论(原书第3版)

英文名:Introduction to Algorithms, third edition
[美] Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein 著

号称是超过50万人阅读的算法圣经(其实内容亦包含数据结构),被国内外1000余所高校采用的经典教材。四位出自MIT的教授合力编写。内容涉及相当广泛。但相对其他算法或数据结构的书来说,本书更加challenging。需要相当的勇气与恒心才能啃下。

6、人月神话(40周年中文纪念版)

英文名:The Mythical Man-Month: Essays on Software Enginee

[美] Frederick P. Brooks Jr. 著

不要被名字唬住了,这不是一本科幻著作,而是一部软件工程经典,由图灵奖得主Brooks亲自操刀的传奇著作!该书内容源于作者在IBM公司任System计算机系列以及其庞大的软件系统OS项目经理时的实践经验。探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。其中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。

7、代码大全(第2版)

英文名:Code Complete
[美] Steve McConnell 著

不可逾越的软件开发宝典,软件开发世界的地图,经典中的经典。本书作者Steve McConnell是两届 Jolt Award震撼大奖得主。除代码大全之外,他的另外一部获得 Jolt Award震撼大奖的作品是《Rapid Development: Taming Wild Software Schedules》。

8、重构——改善既有代码的设计
英文名:Refactoring: Improving the Design of Existing Code
[美] Martin Fowler 著

世界知名软件开发大师Martin Fowler的不朽经典,普通程序员进阶到编程高手必须修炼的秘笈。该书清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了 70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。其中提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

9、程序员修炼之道:从小工到专家
The Pragmatic Programmer: From Journeyman to Master
[美] Andrew Hunt,David Thomas 著

该书由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的较佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。

10、编译原理(第2版)

英文名:Compilers:Principle,Techniques and Tools
[美] Alfred V.Aho,Monica S.Lam,Ravi Sethi  著

号称龙书,编译原理领域的扛鼎力作。美国国家工程院院士亲自执笔。理解程序的编译过程相当于是走完你对计算机程序认识的最后一里路。但是,普遍认为编译原理是计算机本科阶段最难的课程!这本龙书自然又号称天书。我把它放在书单的最后一位,供学有余力的同学阅读,如果感觉自己修为还不够还是建议深入此书,以免走火入魔。

最后附上网上广为流传的其他版本的书单(着色的为我上面亦推荐过的),注意某些书单我做过二次筛选,主要出于下面几个原因的考虑:1)有的人推荐的书单过长,有二三十个,我希望能尽量控制在十本以内;2)因为有些书单比较旧,有些技术已经过时了,或者某些书的方向比较偏,例如《Lua程序设计》。


刘未鹏(暗时间作者)

以下同一条目下用“/”隔开的表示任选,当然也可以都读。

  1. 编码:隐匿在计算机软硬件背后的语言
  2. 深入理解计算机系统 / Windows核心编程 / 程序员的自我修养
  3. 代码大全 / 程序员修炼之道
  4. 编程珠玑 / 算法概论
  5. C程序设计语言
  6. C++程序设计语言 / C++程序设计原理与实践 / Accelerated C++
  7. 计算机程序的构造与解释
  8. 代码整洁之道 / 实现模式
  9. 设计模式
  10. 重构

云风(中国游戏编程先行者,前网易游戏部门资深程序员,简悦创始人)

  1. C++编程思想
  2. Effective C++
  3. C陷阱与缺陷
  4. 程序员修炼之道
  5. 代码大全
  6. UNIX编程艺术
  7. 设计模式
  8. 代码优化:有效使用内存
  9. 深入理解计算机系统
  10. 深入理解LINUX内核

洪强宁(豆瓣技术总监)

  1. 代码大全
  2. 人月神话
  3. 编码:隐匿在计算机软硬件背后的语言
  4. 程序员修炼之道
  5. 设计模式
  6. 计算机程序的构造与解释
  7. 重构
  8. C程序设计语言
  9. 算法导论

张峥(微软亚洲研究院副院长)

  1. 算法概论
  2. Data Structure and Algorithms
  3. C程序设计语言
  4. UNIX操作系统设计
  5. 编译原理
  6. 计算机体系结构:量化研究方法

Jeff Atwood(Stackoverflow联合创始人)

  1. 代码大全
  2. 人月神话
  3. 快速软件开发
  4. 编程珠玑
  5. 程序员修炼之道

Joel Spolsky(Stackoverflow联合创始人)

  1. 人月神话
  2. 代码大全
  3. 程序员修炼之道
  4. 编码:隐匿在计算机软硬件背后的语言
  5. C程序设计语言

(本文完)

计算机相关专业学生必读书单相关推荐

  1. 计算机简历相关经验,计算机相关专业学生简历经验谈(8页)-原创力文档

    计算机专业学生简历点评及修改 准备求职的一个学生把简历发过来让我把脉,让我看看有问题没 有.结果一看,还真有问题,他简历如下,嗯,要保护人家隐私,我把 一些很个人的信 隐掉了. 个人信 (略) 在校经 ...

  2. 计算机相关专业的自我评价,计算机相关专业的学生自我评价

    计算机相关专业的学生自我评价 相关内容: 第一范文网的ZMR小编为大家整理了以下这一篇计算机应用专业应届毕业生的自我评价范文,欢迎参考.我是XX大学的一名应届毕业生.所学的专业是计算机应用,是辅助设计 ...

  3. 计算机专业学生必看的网站

    计算机专业学生必看的网站! http://www.w3school.com.cn/ 领先的web技术教程 http://oss.org.cn/html/index.html 开源中国 www.itpu ...

  4. 【调剂】欢迎材料、机械、计算机、化工等相关专业学生调剂(专业开头08,需考数一或数二)...

    公众号[计算机与软件考研]每天都会发布最新的计算机考研调剂信息! 点击公众号界面左下角的调剂信息或者公众号回复"调剂"是计算机/软件等专业的所有调剂信息集合,会一直更新的. 欢迎材 ...

  5. 计算机相关专业书单推荐

    文章目录 计算机相关畅销书 数据结构与算法相关书籍 机器学习相关书籍 特征工程相关书籍 推荐系统相关书籍 数据挖掘相关书籍 深度学习相关书籍 自然语言处理 Python相关书籍 Python基础 Py ...

  6. 程序员必读书单1.0

    原文:http://lucida.me/blog/developer-reading-list/ 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必 ...

  7. 【转】程序员必读书单

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握 ...

  8. 给信息安全专业学生的书单

    给信息安全专业学生的书单 对我来说,读书是最重要的一项娱乐活动.我基本上是保持一周读一本书的节奏,这里的读书列表记录了当老师后的读书情况.作为老师,多读书至少让自己满足"要给学生一碗水,自己 ...

  9. 计算机相关专业的兼职大总结

    作为一个计算机相关专业的学生,相信很多人都想过靠自己的技术实现财富自由,然后迎娶白富美,走向人生巅峰.那么今天我们就来说说实现这个小目标的一些方法. 1.计算机类的公众号 2.开网店接单 3.自建网站 ...

最新文章

  1. 汇编(8086cpu): AX,BX,CX,DX寄存器
  2. ngrok linux开机自启动,CentOS 搭建ngrok服务器
  3. 重磅!阿里巴巴开源首个边缘计算云原生项目 OpenYurt
  4. Hexo错误_FATAL missed comma between flow collection entries at line
  5. JAVA只要掌握内部类,多继承和单继承都不是问题
  6. 安装Windows版C / GCC编译器
  7. 【医学图像分割】 基于matlab GVF算法医学图像分割【含Matlab源码 1213期】
  8. 软件商业模式的发展与2.0时代
  9. SWMM代码移植到64位平台
  10. 电脑屏幕蓝光过滤护眼工具:f.lux for Mac
  11. 【20220627】【信号处理】自相关函数的定义、计算方法及应用
  12. MediaSession框架全解析
  13. python编程游戏-9个Python编程小游戏,有趣又好玩,简直太棒了
  14. 2001-2019年中国境内企业并购数据
  15. 使用Navicat快速复制所有表的表名或字段名
  16. mac可用的vpb_有什么让你相见恨晚的 MacBook 神器?
  17. 一觉醒来,欠费120万,移动程序员要被祭天了!
  18. 将IMYWebLoader添加到蚂蚁mpaas框架中引发的问题和解决的问题
  19. 度盘搜失效?这款网盘搜索神器万万别错过!
  20. 从零学本体dApp开发(20): 分片合约也有Runtime dAPI

热门文章

  1. pip3在Ubuntu下的安装、升级、卸载
  2. 服务器显示idc,知道一个IP,怎么查询这个服务器是哪家IDC提供的?
  3. NOI2017酱油记(伪)
  4. 升阳云ERP,基于开源框架设计的三大特点
  5. Excel插入XactiveX提示出错“不能插入对象”解决
  6. 加内存条流程(以Dell灵越5580为例)
  7. 关于dvb 基本知识
  8. 什么是Bugzilla?
  9. win10命令提示符怎么打开_win10运行在哪里,win10怎么打开运行
  10. Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must