有哪些适合大学生读的计算机书籍?

发布时间:
2023-08-24 12:33
阅读量:
16

阅读的目的应该是变得更有智慧,而不只是变得更有知识。

尤其是对于行业发展迅猛,技术快速迭代的程序员群体而言,读一本真正的好书,远胜于读一堆的书。

那么,在程序员的职业成长过程中,有哪些值得被反复阅读的好书呢?

不妨一起来看看吧~


基础进阶

《深入理解计算机系统(第 3 版)》



原作名: Computer Systems: A Programmer's Perspective

推荐指数:

类别:计算机系统入门

扣友评语:

一本面向所有初学者的 “计算机系统介绍(导论)”,编程领域大名鼎鼎的 CSAPP ,也是目前计算机系统结构类最优秀的导论型作品。从程序员的视角详细阐述计算机系统的底层系统,适合用来打好初学者的操作系统、编译原理、体系结构基础。


《计算机网络:自顶向下方法(原书第8版)》



原作名:Computer Networking: A Top-Down Approach

推荐指数:

类别:计算机网络入门

扣友评语:

选择这本书也是因为网上配套教学视频比较多,可以边看边听课,体验很好。

这本书给我的收获有以下几点:

1.理解了分层、自顶向下的含义;

2.了解了计算机网络的内部细节,比在网上零散的知识好太多;

3.对开发过程中的解决方案也有一定指导作用。

感受最深的就是,书里遇到的问题难度远远大于平时的开发,书中的原理往往很多都是很值得参考的解决方案。


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



原作名: Code: The Hidden Language of Computer

推荐指数:

类别:计算机入门

扣友评语:

本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。

更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。从和隔街的好友深夜交流到构建一台计算机,作者完成奇妙的转换。深入浅出、鞭辟入里。完全不需要任何先验知识,只要是人就能读懂,就能理解计算机的构成。

这本书大段的文字描述了浅显的知识,随着基础知识的不断增加,有“难度的”知识越来越快地呈现。不过这一切在作者妙笔生花下,显得格外自然。


《 Java 核心技术》



原作名: Core Java, Volume I: Fundamentals, Twelfth

推荐指数:

类别:Java 入门

扣友评语:

每次我的朋友来问我,学 Java 看什么书好,我总是说:《 Thinking in Java 》是你一定要看的,但不是现在,那本书不适合入门。要入门,来,借这本书去吧,然后递给他这本《 Core Java 》(卷一)。

Java 十年,发展如此迅速,J2EE 之火热,令我大感惊讶,我为我几年前选择学 Java 感到庆幸。现在我身边用 Java 的人越来越多了,周边的实验室里十有八九都在用 Java 开发项目。企业级开发领域,Java 是现在的王者。

Java 的名字是如此响亮,越来越多的人想来学学 Java ,在学校里的那次 Java 协会聚会时,我发现,本科里学 Java 的还是处于入门阶段的最多,他们对 Java 具体是什么,能做什么,怎么用,处于相当懵懂的地步(我现在也没好多少~),这一切,在这本书里都讲的相当清楚。

我对我的朋友说,装一个 JCreator ,自己亲手配好 JDK 的环境,然后好好看这本书,特别是前七章,把里面的代码好好敲一遍,相信你的 Java 能够到一个基本入门的地步。


《 C++ Primer (中文版》




推荐指数:

类别:C++ 入门

扣友评语:

几乎是每个 Cpper 必读的一本书籍,在第五版中已经适用 C++11 的规范。

本书一定程度可以作为一本手册来进行翻阅。

注意:很多新手以为读完这本书就对 C++ 了解的差不多了,然而这本书只不过是 C++ 的冰山一角而已。


《 Effective C++ 》三部曲



推荐指数:

类别:C++ 程序设计

扣友评语:

《 Effective C++ 》三兄弟指的是《 Effective C++:改善程序与设计的55个具体做法》(第三版)、《 More Effective C++:35 个改善 C++ 程序和设计的具体做法》、《深度探索 C++ 对象模型》。

这三本书都是一个个 C++ 实际应用中常见的问题和技巧,很多都是能够直接使用在项目中的技巧。三本交叉的内容不多,无论从哪本开始看都没有问题,甚至同一本书跳着看都没事。


《一个应用密码学研究生课程》

原作名: A Graduate Course in Applied Cryptography

推荐指数:

类别:现代密码学入门教程

扣友评语:

Coursera 上非常火的斯坦福密码学课程的主讲老师写的。这本书比较枯燥,数学概念和推导占了很大的篇幅,但现代密码学就是这么数学(古典密码学就好很多,但完全没有安全性就是了)。


《 SQL 必知必会(第 5 版)》



原作名:SQL in 10 Minutes a Day, Sams Teach Yourself

推荐指数:

类别:SQL 入门

扣友评语:

SQL 是使用最为广泛的数据库语言,几乎所有重要的 DBMS 都支持 SQL 。而像 SQL 、正则表达式之类的东西确实比较适合速成,因为都是一些实操性很强的小知识点。

本书浅入深地讲解了 SQL 的基本概念和语法,涉及数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,实用性极强。


《操作系统:三个简单部分》



原作名:Operating Systems: Three Easy Pieces

推荐指数

类别:操作系统入门

扣友评语:

传说中的 OSTEP 。我觉得这是一本所有计算机专业本科生必看的书籍,相比于其它的教材(例如 Operating System Concepts ),OSTEP 更容易读,而且有配套习题,很多高校将此作为教材使用,可以一边自学一边练习。

作者在每章都会推荐大量相关论文和图书,方便我们继续深入了解,网上也有一些配套的课程可以辅助学习。

如果把其中的习题都做一遍,对操作系统的基本原理一定会有一个全面的认识。


《代码整洁之道》



原作名:Clean Code: A Handbook of Agile Software Craftsmanship

推荐指数:

类别:工作实践

扣友评语:

软件质量与代码质量紧密相关,这本书提出一种观念:代码质量与其整洁度成正比。整洁的代码具有可靠的质量,也有利于后期维护和添加新代码。全书内容包括三个模块:第一模块介绍整洁代码的原则、模式和实践;第二模块包括一些案例研究,说明如何改善代码;第三模块列举从案例研究中得到的启示和灵感。



求职面试

《内行人才知道的系统设计面试指南》



原作名:System Design Interview An Insider’s Guide

推荐指数:

类别:系统设计

扣友评语:

比起 DDIA 来说,这本书更偏向「面试」,并且也更基础,快的话一个星期就能看的差不多。DDIA 更像一块砖头,比较适合工作三年以上的人反复阅读。


算法篇

《漫画算法:小灰的算法之旅》



推荐指数:

类别:算法入门

扣友评语:

如果你对编程也不那么熟悉,或者转专业来学习机算法,《漫画算法》很适合入门学习,简单有趣。

《漫画算法》通过虚拟的主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识、复杂多变的算法面试题目及算法的实际应用场景。


《算法神探:一部谷歌首席工程师写的 CS 小说》



原作名:The CS Detective

推荐指数

类别:算法入门

扣友评语:

在大多数人的认知中,算法都是复杂的,即使算法书的内容再精彩,也看不了很多页。但是这本小说和其他算法书不一样,主线是 Frank 探长和 Notation 警官破获案件,全书巧妙地将数据结构和算法穿插入一场离奇的盗窃案的侦破中。通过阅读这本书,可以在没有代码和公式的情况下对数据结构和算法有大致了解。


《算法详解》



推荐指数:

类别:算法进阶

扣友评语:

《算法详解》深入讨论排序相关算法和分析。很多人只会做题,缺少一些底层逻辑。这本书适合有一定数学基础,还有计算机专业入门的学生阅读,绝对能打下坚实的基础。

算法详解系列图书共有 4 卷,本书是第 1 卷——算法基础。本书共有 6 章,主要介绍了 4 个主题,它们分别是渐进性分析和大 O 表示法、分治算法和主方法、随机化算法以及排序和选择。附录 A 和附录 B 简单介绍了数据归纳法和离散概率的相关知识。本书的每一章均有小测验、章末习题和编程题,这为读者的自我检查以及进一步学习提供了较多的便利。


《算法竞赛进阶指南》



推荐指数:

类别:算法进阶

扣友评语:

在力扣社区绝对不能少的就是算法相关的书籍了。如果你想踏入算法竞赛领域,那么这本《算法竞赛进阶指南》(由北大 ACM 冠军李煜东所著)是必不可少的,也是我在进阶阶段完整刷完的一本书,收获极大。


《算法图解》



推荐指数:

类别:算法进阶

扣友评语:

《算法图解》不那么枯燥,图文并茂,更容易理解

本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大 O 表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K 最近邻算法。


《算法(第 四 版)》



原作名:Algorithms

推荐指数:

类别:算法进阶

扣友评语:

相比较于其它的算法书籍,该书籍往往希望通过其它更易近人的方式阐述对应的数据结构和算法,在描述算法时会尽可能地与实际问题相联系起来,而不是单纯地只阐述理论。


《编程珠玑(第2版)》



原作名: Programming Pearls

推荐指数:

类别:算法进阶

扣友评语:

一本让你提前掉头发的算法奇书,相比较于其它的计算机书籍,这本书可谓是 “短小精悍”,全篇几乎没什么废话。


《算法导论》(第3版)



原作名: Introduction to Algorithms, Third Edition

推荐指数:

类别:算法进阶

扣友评语:

如果只推荐一本书的话,《算法导论》是经典中的经典。

这本书非常的系统深入全面,适合已经有一定算法基础的人深入学习。

在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。

本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。


拓展阅读

《数学之美》



推荐指数

类别:工程思维

扣友评语:

在纸本书的创作中,作者几乎把所 有文章都重写了一遍,为的是把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的是思考问题的方式 —— 如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新。


《编程人生:15 位软件先驱访谈录》



原作名Coders at Work

推荐指数:

类别:经验分享

扣友评语:

这本书是一本访谈笔录,记录了当今最具个人魅力的 15 位软件先驱的编程生涯。受访者讲述了他们如何学习编程,在编程过程中的发现以及他们对未来的看法。


《程序员,你伤不起》



推荐指数:

类别:经验分享

扣友评语:

如果说《编程人生》记录的是软件先驱的编程生涯,那么《程序员,你伤不起》的内容更接近大多数人。

这本书的书名很吸引人,内容是作者吉日嘎拉在博客园的博客文章。这些文章记录了一个 IT 人的成长和经历,体现一个草根程序员的工作与生活,很多讲述会令人感同身受。虽然作者并非领袖级人物,但是大多数人都不会成为先驱,而是度过平凡的一生,即使如此,依然可以有所成就。


《软技能 - 代码之外的生存指南》



原作名: Soft Skills: The software developer's life manual

推荐指数:

类别:经验分享

扣友评语:

它讲的不是技术,而是程序员的软技能,让你成为更好的自己,我觉得每一个程序员都应该好好看看(一些思想和方法同样也适用于其他行业),讲的非常直白实用,没有那么多高大上的知识,看了之后又回味无穷,是值得反复去看反复去实践的一本书,当时看这本书的时候花了几天就看完了,我相信你也一定能看下去。

更多详细资料欢迎来 力扣 讨论

END