ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

你与科班同学就差这样一个书单,经典技术书籍推荐!

2021-05-03 10:31:33  阅读:252  来源: 互联网

标签:本书 书单 计算机 IP 程序员 SQL 科班 书籍 操作系统


我当初填志愿选择了自动化,学了模拟电路、信号与系统、自动控制原理等课程。

后来觉得不是很感兴趣(主要是钱不多),于是决定自学计算机,转行成为一名光荣的程序员。

想成为一名合格程序员,就需要先了解计算机专业的课程都有什么,把自己的计算机基本功先练扎实。

于是我赶紧私信我在华科的同学,他发来了下面几个课程:

  • 计算机组成原理

  • 计算机操作系统

  • 数据结构与算法

  • 计算机网络

  • 数据库系统

意味深长地说,我只要研究透它们,转行成功妥妥的,不过自学有点困难,让我耗子尾汁。。。

咱决定转行的人就是不怕困难,于是,我就开始在程序员这条路上越走越远。

这些课程确实都很有难度,不过如果书选得好,自学时能够少走很多弯路。

下面是我精心整理的一份编程书单,每个课程只推荐 3 本书,都包括入门级别书和地狱级别书,分别对应你学习的不同阶段。

如果上来就让你直接啃大块头,那还不得让你怀疑人生,认为自己不是当程序员的料。书不求多,看一本要有一本的收获。

话不多说,马上进入荐书环节。

 

01 计算机组成原理

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

豆瓣评分高达9.3分,相信是很多人相见恨晚的一本计算机入门好书,你也不例外。

《编码》从最底层的串联并联电路开始讲,构造继电器,逻辑门,再构建加法器、译码器、bit 内存,再到存储程序的概念,一直讲到最后的操作系统的概念,从硬件到软件在不需要任何预备知识的情况下,讲解了计算机的概念以及如何从头到尾构造一个计算机。

这本书尤其适合没有计算机基础的编程小白阅读,大学为什么不用这本书作为微机原理的教材!这也可以让很多人少走弯路。

《程序是怎样跑起来的》

本书也是针对初学者从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容。可以让你了解从双击程序图标到程序开始运行之间到底发生了什么。

该书号称以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。

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

如果嫌上面两本有点简单,那你可以试试这本,这本书有多经典不需要多说了,我看完这本书后,对计算机内部原理的认知有了质的飞跃。如果你觉得有难度,可以搭配B站的CSAPP课程一起食用。

可以让你通过程序员的视角,清晰地明白学习计算机系统的内部工作原理,让你写出更快、更可靠的代码。而且它还有助于你为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。

 

02 计算机操作系统

《操作系统真象还原》

这是一本比较小众,但绝对是你入门操作系统的好书,大学的课程讲操作系统都过于抽象与晦涩,我当时从图书馆借了一本讲操作系统的书,硬着头皮看完两章就放弃了,完全就是知识点的堆砌,让人提不起一点兴趣。

难得的是该书作者是国人,通俗易懂地讲解每个概念和知识点。还提供了相关源码,你可以对着书调试操作系统的每个功能,图文结合代码,你会对操作系统的全貌都有清晰的认识。

《现代操作系统(第4版)》

本书算是操作系统领域的经典,书中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。涵盖了基本上操作系统的所有内容。

 

03 数据结构与算法

《大话数据结构》

学习数据结构一般都是枯燥的,但是这本书把各个理论以趣味的形式展现出来,通俗易懂,还搭配代码,让你更好地理解。而且每个数据结构与算法,作者都使用各种各样的生活例子进行类比,让你对各个知识点有非常直观的感受,是一本非常适合自学的读物。该书作者还有一本《大话设计模式》,同样值得推荐。

《编程珠玑(第2版•修订版)》

如果你学会了各个数据结构和算法,但是不知道怎么使用它们,那你这本书你值得一看,因为它解决的就是计算机科学中最本质的问题:如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的算法问题,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且为复杂的编程问题提供了清晰而完备的解决思路。

《算法导论(第2版)》

如果数据结构只让我推荐一本,那妥妥的就是这本书,首先说一下,这本书很难,建议先看上面两本书,有了数据结构与算法理论基础后,再来试着啃啃这块硬骨头。

该书深入讨论了各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元,你不必从头开始看;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,也不失深度和数学严谨性。咬着牙反复读几遍这本书,定会让你脱胎换骨。

 

04 计算机网络

《图解 TCP/IP(第5版)》

这本书是入门 TCP/IP 网络模型的首选,其中用大量的图文来介绍了 TCP/IP 网络模式的每一层,通过图文并茂的方式,让你理解TCP/IP的基本知识、掌握TCP/IP的基本技能。

书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导你了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。

《网络是怎样连接的》

和《程序是怎样跑起来的》这本书是一个系列,非常通俗易懂,也是一本适合初学者的书。

本书从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。可以帮助你理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。

《计算机网络:自顶向下方法》

入门计算机网络后,可以试着看看这本经典书,该书一个亮点是从应用层的具体应用说起,而不是从枯燥的物理层讲起,从熟悉的事例慢慢了解计算机网络的技术原理,更能引起你的兴趣。自顶向下,最后到物理层,其中的事例详细生动,学起来也不是那么费力。

 

05 数据库系统

《SQL 基础教程(第2版)》

想学数据库,可以先从 SQL 语句学起,这本书介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中有大量示例程序和详实的操作步骤说明,让你循序渐进地掌握SQL的基础知识和使用技巧。

对于 SQL 入门,这是我认为最好的书了(其他人可能会推荐《SQL必知必会》),它不只是介绍 SQL 语法结构,还介绍了关系数据库理论,让你能够更顺利写出能够执行的SQL语句,SQL 是实践科学,不要只看书,必须多写才有感觉。

《MySQL 必知必会》

学会了 SQL 语句,可以试试学习 MySQL 数据库,MySQL 是世界上最受欢迎的数据库管理系统之一。该书从简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了你应该掌握的知识,使你不经意间立刻功力大增。

这本书实践性很强,一步步教会你怎么用 SQL 语句操作 MySQL 数据库,例子全面且具体,非常适合没有任何基础的初学者。

《数据库系统概念》

这本书帮助你继续夯实数据库理论基础,增强数据库技术内功,让你深入理解数据库,深入操作数据库。

该书很多内容在前面两本书中都有介绍,不过讲解地更加深入和具体,内容非常全面,甚至觉得没必要读完所有章节,你可以选择其中的重点,或者你感兴趣的内容进行选读,其他章节在以后工作中用到再来翻阅。

 

科班的基础课程书籍推荐就是这些,对于非科班的同学,这些书籍都是很有必要看的。

它们涉及到计算机的底层知识,根基打牢后,不管你是想做前端、后端还是服务端,都能够更加游刃有余。

这也是我没有推荐编程语言书籍的原因(以后会推荐),不管选择什么语言,这几门课都是程序员需要学习的。

而且学编程不能光看书,需要跟着书一行一行地敲代码,只有自己亲手敲一遍,你才能掌握地更扎实。

 

作者简介

我是阿德,一名五年工作经验的软件开发工程师,985高校非科班程序员,热爱编程与开源,

此公众号【程序员阿德】专注于分享各种计算机干货,包括但不限于计算机组成原理、数据结构与算法、计算机网络、操作系统、数据库、Linux等。

相信你能够在这里有所收获,精进为一名优秀程序员,我们一起加油~

 

 

标签:本书,书单,计算机,IP,程序员,SQL,科班,书籍,操作系统
来源: https://blog.csdn.net/baidu_36639782/article/details/116372715

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有