计算机大学生可以通过哪些经典书籍/教材提高自己的能力?
整理一份计算机大学生提升能力的经典书单,按大一筑基→大二核心专业课→大三方向深耕→大四求职成长分层规划
一、编程语言(大一零基础入门,夯实编码基本功)
C/C++
1、《C Primer Plus 第 6 版 中文版》
C 语言入门经典,例题丰富、讲解循序渐进,适配高校 C 语言课程,吃透语法、指针与内存模型。
经久不衰的C语言畅销经典教程,中文版累计销量近百万册,针对C11标准进行全面更新。
《C Primer Plus(第6版)中文版》共17章。第1章、第2章介绍了C语言编程的预备知识。第3章~第15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入和输出、结构、位操作等。第16章、第17章介绍C预处理器、C库和高级数据表示。本书以丰富多样的程序为例,讲解C语言的知识要点和注意事项。每章末尾设计了大量复习题和编程练习,帮助读者巩固所学知识和提高实际编程能力。附录给出了各章复习题的参考答案和丰富的参考资料。
2、《C++ Primer Plus 第6版 中文版》
经久不衰的C++畅销经典教程,中文版累计销量超500000册,从基础语法到面向对象,配套足量课后习题。
《C++ Primer Plus(第6版)中文版》分18章,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容。
Python
1、《Python 编程快速上手:让繁琐工作自动化》(第2版)
实操入门,语法 + 自动化小项目,快速产出可用代码。
本书手把手地教你完成每个程序,并通过每章(除第1、2章外)末尾的实践项目帮你改进这些程序,使你能用所学的新技能来自动化地完成类似的任务。
2、《Python 编程从新手到高手》
系统化 Python 全栈学习用书,从基础语法、面向对象到爬虫、数据分析、项目实战,一站式完成 Python 能力进阶,适配自学与课程实训。
本书共5个部分。第一部分“Python 环境”讲解 Python的哲学、开发环境、基本语法、项目结构和代码导入等内容,为读者编写规范的Python代码奠定坚实的基础。第二部分“基本结构”讲解Python的变量、数据类型、函数、类、对象、错误和异常等。第三部分“数据和流程”讲解操作数据和控制执行流程的许多独特方法,包括集合、迭代、生成器、推导式、文本输入/输出、上下文管理、二进制和序列化等。第四部分“高级概念”探索Python 的高级策略,如继承、混入、元类、抽象基类、自省、泛型、异步、并发、线程和并行等。第五部分“超越代码”讲解项目的打包、分发、调试、日志、测试和剖析等环节,并概述Python开发的方向。
Java
《Effective Java 中文版(原书第3版)》
Java 进阶标杆,规范编码习惯,校招高频参考用书。
Java之父James Gosling鼎力推荐,Jolt获奖作品全新升级,与《Java编程思想》和《Java核心技术》(Core Java)齐名,针对Java 7、8、9全面更新,Java程序员必备参考书。
本书大部分内容都不是讨论性能的,而是关心如何编写出清晰、正确、可用、健壮、灵活和可维护的程序。包含大量完整的示例代码和透彻的技术分析,通过90条经验法则,探索新的设计模式和语言习惯用法,帮助读者更加有效地使用Java编程语言及其基本类库。
二、计算机四大专业课(大二核心,课内拔高)
1. 数据结构与算法之美
《数据结构与算法之美》通俗化讲解主流算法,兼顾应试刷题;20个经典数据结构与算法,一册在手,学习算法不愁,轻松搞定大厂的面试秘籍;100个真实项目场景案例,助力工程师解决项目中的实际算法难题;300多幅算法手绘图解,文科生都能学的懂算法通关书。
2、《算法详解四部曲:算法基础+图算法和数据结构+贪心算法和动态规划+NP-Hard问题算法》(套装4册)
斯坦福经典教材,大 O 复杂度、分治、快排、随机算法系统讲解,配套习题,算法笔试、考研必备。
算法是计算机科学的核心与灵魂。算法的应用范围极广,网络路由、计算基因组学、公钥加密学和数据库系统等的实现都需要算法。研究算法可以帮助我们成为更优秀的程序员,可以让我们具有更缜密的思维,并成功应对各种场合的技术面试。
这是一套非常容易上手的算法入门图书,它可作为程序员的学习用书,也适合想要学习算法和想提升算法思维能力的读者阅读。
操作系统 & 计算机组成原理
1、《操作系统导论》
本书围绕虚拟化、并发和持久性这三个主要概念展开,介绍了所有现代系统的主要组件(包括调度、虚拟内存管理、磁盘和I/O子系统、文件系统)。全书共50章,分为3个部分,分别讲述虚拟化、并发和持久性的相关内容。作者以对话形式引入所介绍的主题概念,行文诙谐幽默却又鞭辟入里,力求帮助读者理解操作系统中虚拟化、并发和持久性的原理。
本书内容全面,并给出了真实可运行的代码(而非伪代码),还提供了相应的练习,很适合高等院校相关专业的教师开展教学和高校学生进行自学。
2、《深入解析计算机系统》
计算机系统是计算机专业的常见课程,也是学习编程过程中的重要学习内容。本书是计算机系统的入门图书,介绍了现代计算机系统的主要硬件和软件。本书按抽象层次设置各章节,从常用于编写操作系统的 C 语言基础知识逐步衍生,先介绍现代计算机的组成、结构、操作系统原理、汇编语言,再介绍各种计算机体系结构的代码优化方法、使用共享内存实现并行计算、多核 CPU环境下的内存管理等。
本书适合作为计算机系统相关课程的教材,也适合有编程基础的人阅读。
3、《Linux就该这么学(第3版)》
本书基于最新的RHEL 10系统编写而成,面向零基础读者,具有广泛的适用性。本书内容从Linux基础知识入手,循序渐进地提升难度,深入讲解Linux系统中各类服务的工作原理与配置方法,全面满足实际生产环境中运维人员的需求。每章均配有丰富的图示、表格、命令示例及课后复习题,旨在提升读者的理解能力和实践操作能力,帮助巩固所学内容。本书内容的广度与深度远超红帽认证考试要求,亦可作为红帽 RHCE 10认证的备考用书,为您顺利通过考试提供强有力的支持。
此外,本书的配套网站还提供了书中涉及的软件和大量学习资料,助力读者顺利入Linux系统并掌握实用运维技能。
数据库
《MySQL 是怎样运行的:从根上理解 MySQL》
为什么这个SQL语句执行得这么慢?为什么我明明建立了索引,但是查询计划显示没用?为什么IN查询中的参数一多就不使用索引了?为什么我的数据显示成了乱码?……每一位DBA和后端开发人员在与MySQL打交道时,或多或少都会遇到这些问题。之外,索引结构、MVCC、隔离级别的实现、锁的使用等知识,也是求职人员在MySQL面试中躲不过去的高频问题。
本书针对上面这些问题给出了相应的解答方案。本书的表达方式与司空见惯的学术派、理论派IT图书有显著区别,但也是相当正经的专业技术图书,内容涵盖了使用MySQL的同学在求职面试和工作中常见的一些核心概念。无论是身居MySQL专家身份的技术人员,还是技术有待进一步提升的DBA,甚至是刚投身于数据库行业的“萌新”人员,本书都是他们了解MySQL运行原理的优秀图书。
三、软件工程 & 程序员成长(大二下~大三,编码规范 + 工程思维 + 职业成长)
1、《代码整洁之道》
统一编码规范,课程设计、毕设优化代码首选
本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。
2、《软件设计的哲学(第 2 版)》
软件架构与设计思想经典,讲解如何规避冗余、复杂代码,搭建简洁可维护的系统,做项目、毕业设计拔高设计能力。
本书深入探讨了软件设计中的核心问题:如何将复杂的软件系统分解为可以相对独立实现的模块(例如类和方法),从而降低其复杂性并提高开发效率。本书首先介绍了软件设计中的基本问题,即复杂性的本质。其次,讨论了有关如何处理软件设计过程的“哲学”问题,如通用设计的重要性、与《代码整洁之道》中设计哲学的对比,以及如何将重要的东西和不重要的东西区分开等内容。最后,总结了在软件设计过程中应遵循的一系列设计原则,以及一系列识别设计问题的警示信号。 本书适合软件工程师、计算机科学专业的学生、教育者、对软件设计和开发感兴趣的自学者和技术管理者阅读。通过应用本书中的思想,读者可以最大限度地降低大型软件系统的复杂性,从而更快地以更低的成本编写软件,并构建更易于维护和增强的系统。
3、《程序员的 README》
从文档规范、项目说明落地出发,学会规范撰写项目 README、项目文档,实习开源项目必备。
本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。
本书内容不仅浅显易懂,还覆盖整个软件开发周期,是一本技术主管希望每名新入行的工程师在开始工作之前都能阅读的书。
4、《工程师进阶之路:个人贡献者成长与改变指南》
程序员技术→管理 / 资深专家成长指南,适配大三、大四筹备实习校招。
多数公司意识到了他们对主管工程师的迫切需求,却因技术路线混乱、缺乏明确指引,导致工程师和管理者面临职业发展困惑。本书围绕工程师如何成长为优秀主管工程师展开,分为大局观、执行力和提升力三篇。第一篇探讨如何以广阔、战略性视野思考工作,提出与主管工程师角色相关的大问题,如在场景中审视工作、揭示目标,并创建全局图。第二篇聚焦领导项目和解决问题的实际情况,分享选择工作、管理精力的技巧,讨论领导跨团队和跨组织项目的方法,以及克服障碍、复盘项目的要点。第三篇关注组织水平,介绍如何通过学习模范工程师的行为来提高团队水平,探讨提高同事技能的模式,以及提升个人水平、规划职业生涯的方法。
四、人工智能 / 机器学习 + 自动化方向
1、《人工智能(第 3 版)》
人工智能经典教材,本书包括引言、基础知识、基于知识的系统、人工智能高级专题、人工智能的现在和未来以及安全与编程六部分内容。第一部分从人工智能的定义讲起,对人工智能的早期历史、思维和智能的内涵、图灵测试、启发式方法、新千年人工智能的发展进行了简要论述。第二部分详细讲述了人工智能中的盲目搜索、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示和产生式系统等基础知识。第三部分介绍并探究了人工智能领域的成功案例,如DENDRAL、MYCIN、EMYCIN 等经典的专家系统,振动故障诊断、自动牙科识别等新的专家系统,也介绍了机器学习、深度学习以及受到自然启发的搜索算法等。第四部分介绍了自然语言处理和自动规划等高级专题。第五部分对人工智能的历史和现状进行了梳理,回顾了几十年来人工智能所取得的诸多成就,并对其未来进行了展望。第六部分主要介绍人工智能的安全以及编程问题。
本书系统、全面地讲解了人工智能的相关知识,既简明扼要地介绍了这一学科的基础知识,也对自然语言处理、自动规划、神经网络等内容进行了拓展,更辅以实例,可以帮助读者扎扎实实打好基础。本书内容易读易学,适合人工智能相关领域和对该领域感兴趣的读者阅读,也适合高校计算机专业的教师和学生参考。
2、《模式识别与机器学习》
经典 ML 理论教材,贝叶斯、SVM、聚类系统精讲,算法考研 / 算法岗核心参考书。
本书深入而系统地介绍了模式识别和机器学习领域的基本概念、数学原理和核心算法,并附有丰富的习题。作为机器学习领域的“圣经”,本书融合了概率论、统计学、线性代数和优化理论,构建了从基础概念到前沿技术的完整知识体系,内容涵盖决策论、概率分布、线性回归模型、线性分类模型、神经网络、核方法、稀疏核机、图模型、混合模型与最大期望算法、近似推断、采样方法、连续潜变量、序列数据、模型组合等。
本书适合计算机专业高年级本科生和低年级硕士生阅读,也适合作为机器学习从业人员和爱好者的参考资料。
3、《人工智能:现代方法(第 4 版)》复旦教授魏忠钰老师推荐
全球1500多所学校采用的教材,国内众多高校选用。
本书全面、深入地探讨了人工智能(AI)领域的理论和实践,以统一的风格将当今流行的人工智能思想和术语融合到引起广泛关注的应用中,真正做到理论和实践相结合。全书分7个部分,共28章,理论部分介绍了人工智能研究的主要理论和方法并追溯了两千多年前的相关思想,内容主要包括逻辑、概率和连续数学,感知、推理、学习和行动,公平、信任、社会公益和安全;实践部分完美地践行了“现代”理念,实际应用选择当下热度较高的微电子设备、机器人行星探测器、拥有几十亿用户的在线服务、AlphaZero、人形机器人、自动驾驶、人工智能辅助医疗等。本书适合作为高等院校人工智能相关专业本科生和研究生的教材,也可以作为相关领域专业人员的参考书。
4、《现代控制系统(第 14 版)》
控制系统原理及相近课程是高等学校工科学生的核心课程之一。这是本书第十四版的中译本,主要内容包括控制系统导论、系统数学模型、状态空间模型、反馈控制系统的特性、反馈控制系统的性能、线性反馈系统的稳定性、根轨迹法、频率响应法、频域稳定性、反馈控制系统设计、状态变量反馈系统设计、鲁棒控制系统、数字控制系统等。
本书的例子和习题大多取材于现代科技领域里的实际问题,新颖而恰当。学习和解决这些问题,可以使学生的创造性素养得到潜移默化的提升。
本书可以用作高等学校工科(自动化、航空航天、电力、电子、机械、化工等) 本科高年级学生以及研究生的教材,也可以供从事相关工作的人员阅读参考。
5、《动手学深度学习(PyTorch 版)》李沐实战教程,代码实操深度学习
本书重新修订《动手学深度学习》的所有内容,并针对技术的发展,新增注意力机制、预训练等内容。本书包含15章,第一部分介绍深度学习的基础知识和预备知识,并由线性模型引出最简单的神经网络——多层感知机;第二部分阐述深度学习计算的关键组件、卷积神经网络、循环神经网络、注意力机制等大多数现代深度学习应用背后的基本工具;第三部分讨论深度学习中常用的优化算法和影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。
本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程知识及预备知识中描述的线性代数、微分和概率等基础知识。
6、《深度学习(花书)》深度学习理论天花板,深耕 AI 方向精读
2018年图灵奖得主潜力打造,深度学习领域奠基性的经典畅销书!长期位居美国ya马逊AI和机器学习类图书榜首!所有数据科学家和机器学习从业者的bi读图书!特斯拉CEO埃隆.马斯克等国内外众多专家推jian!
《深度学习》由全球知名的三位专家IanGoodfellow、YoshuaBengio和AaronCourville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。
《深度学习》适合各类读者阅读,包括相关专业的大学生或研究生,以及不具有机器学习或统计背景、但是想要快速补充深度学习知识,以便在实际产品或平台中应用的软件工程师。
