计算机专业的入门书籍

  今天是2017/4/6,终于开始动手写自己的博客了,写点什么好呢?
  记得是去年4月份接触java,开始转向软件的,一晃时间过去满一年了。
  恰好最近几个月拜访了大牛博客、知乎、豆瓣、掘金等诸多论坛、网站,参阅了很多计算机专业教育者和身边从业者的过来人经验,经过思索、整理,决定写一篇计算机专业入门书籍的博客,全文主要以推荐书籍为主,部分书籍内容会有重复的地方,挑一本仔细翻看即可。

基础入门

主要是一些基础课程,适合计算机专业本科学生和对计算机感兴趣学习者。

数学基础

  • 高等数学
  • 线性代数
  • 概率论
  • 离散数学——推荐书籍《离散数学及其应用》
  • 组合数学 Richard A Brualdi著

硬件基础

  • 电路理论
  • 模拟电子技术
  • 数字电子技术
  • 微机原理

软件基础

  • C语言——推荐书籍K & R《C程序设计语言》第二版
  • 数据结构——推荐书籍《数据结构与算法分析:C语言描述》,这一套书有C、C++、Java版本。
  • 汇编语言——推荐书籍《汇编语言》王爽著

计算机基础和组成原理

  • 《程序是怎样跑起来的》
  • 《编码:隐匿在计算机软硬件背后的语言》这本书无需多说,计算机的入门经典,永不褪色。
  • 《计算机文化》
  • 《计算机科学概论》 J·Glenn Brookshear著
  • 《计算机科学概论》Nell Dale、John Lewis著
  • 《计算机科学导论》Behrouz A.Forouzan著
  • 《计算机系统概论》Yale N.Patt大牛著,这本书大力推荐,全书采用了“自底向上”的策略讲解,比CSAPP简单一点,程序猿可以看看。

看完上面这些书籍,可以再把下面这两本神书作为过渡,这两本书和上面推荐的书中会出现不少计算机组成原理方面的知识,这部分内容涉及的知识点较多,在这个阶段看,内容有一定的难度,建议是反复看,按阶段看,在学习了后面的知识后,再回过头来看。

  • 一本足矣,号称比等质量黄金还要珍贵的书籍——《深入理解计算机系统》简称:CSAPP,它把操作系统,计算机组成原理,数字电路,编译原理,网络,计算机体系结构等程序员需要了解的核心知识汇集在一起, 让你迅速的打下扎实的基础。 这本书有700多页,是CMU的本科教材,吃下来需要花费不少精力,推荐大牛博客,可以带你学习。小土刀——不周山之读薄/读厚 CSAPP。加油!
  • 《计算机系统要素》 | 书摘 | 不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之;学至于行而止矣。

基础进阶

这个阶段的学习,我主要从一个程序猿的角度来写,这个阶段的学习效果,对后续计算机学习和从业都有着至关重要的影响。

数据结构和算法

  学习数据结构,一定要注意多实践,学会从实际问题中抽象出数据,所以下列书籍的习题应尝试着独立完成。
- 《算法:第四版》这本书是采用Java语言实现的,里面用到了一些作者自己的库,作者提供有自己的开发平台,可以参照知乎这个问题的回答:算法第四版所用到需要下载的库?
- 《数据结构和算法分析:Java语言描述》这本书和算法参照着一起看。
- 《算法导论》简称:CLRS 不多说,大家都懂。书坚持读起来有一定难度,若读来有一定困难,可以先放一放,后续有需要再回头看。

操作系统

  • 《现代操作系统》本书是操作系统领域的经典之作,书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。
  • 《操作系统概念》和上一本书对照着看。
  • 《30天自制操作系统》亲自动手体会一下操作系统的制作, 把书本知识都用起来。 另外Linux 0.0.1的源码也是必读的, 尤其是计算机加电以后,怎么把操作系统给Boot起来的。

记住,操作系统一定要结合实际的操作系统来学习。看操作系统的概念,设计,更应当看操作系统的使用,实现。Linux就不多说了,基本是个操作系统教科书都是拿*nix举的例子。Windows可以参考MSDN,微软的MSDN简直是一个超级宝库,经常去挖一挖,你绝不会失望的。

编译原理

  • 《编译原理》龙书不解释
  • 《编程语言实现模式》 对于那些一门心思想发明个自己语言的同学,一定要去看看这本书, 它会教你写真正实用的解析器、翻译器、解释器等语言应用。
  • 《Engineering a Compiler, Second Edition》 评分很高的一本书,目前没看到中文版。

记住,操作系统一定要结合实际的操作系统来学习。看操作系统的概念,设计,更应当看操作系统的使用,实现。Linux就不多说了,基本是个操作系统教科书都是拿*nix举的例子。Windows可以参考MSDN,微软的MSDN简直是一个超级宝库,经常去挖一挖,你绝不会失望的。

计算机网络

  • 《计算机网络:自顶向下方法(第4版)》 书很赞,翻译确实不咋地。
  • 《TCP/IP详解》三卷套 对于将来想做通信和网络的同学, 几乎是必备。 可惜中文版翻译的比较烂, 中英文对照看吧 。
  • 《HTTP权威指南》WEB的基础,应该看看。
  • 《Unix网络编程》 《Unix环境高级编程》 《TCP/IP详解》(三卷本)的作者的大作。

数据库

  • 《数据库系统概念》厚、大、全。
  • 阅读SQLite的源码, 一个开源的嵌入式关系数据库, 只有那么几万行c 语言代码, 吃透以后功力绝对大涨。

计算机组织和架构

这部分内容,相当于对计算机组成原理的进一步深入,难度还是比较大的,慢慢研究最好。
- 《计算机组成与设计 硬件/软件接口》 | 书摘 | 从软硬件接口来看计算机 。
- 《计算机体系结构 量化研究方法》 | 书摘 | 从定性分析的定量分析的巨大进步。
- 《计算机组成与体系结构 性能设计》 | 书摘 | 从性能角度出发也是很好的认识计算机的方式。
- 《计算机组成 结构化方法》 | 书摘 | 计算机系统由三个部分组成:处理器、存储器和输入输出设备。
这几本书在小土刀书书影音都有推荐,这里直接引用,毕竟大牛!

编程语言

  本科的时候最先学习的是C语言,后来学习了汇编语言。目前比较火的重量级语言也就那么几种。C语言诞生于上世纪70年代,C++语言诞生于上世纪80年代,Java语言诞生于上世纪90年代,而C#刚好是2000年推出的,所以作为面向对象开发的三大语言C++、Java、C#基本是相互渗透,相互吸收,相似的地方很多,选择其中一个学习即可,推荐Java,在国内用户量庞大,更重要的是入门相对于C++来说简单一些,而C#主要是微软在用。
  另一方面,由于近些年来人工智能大热,Python语言开始强势崛起,“人生苦短,我用Python”。新手也可以选择Python入门,现在一些国外高校,教授的第一门语言已经从C语言转向Python了。
  由于本渣渣还在Java坑里面。。。。,就推荐一些Java入门的资料,附带Python资料。

Java学习资料

  • 《Head First Java》《疯狂Java讲义》 这两本书是青菜萝卜各有所爱。
  • 传智播客基础班视频(毕向东)
  • 知乎问答哪本书适合推荐给 Java 初学者?没有办法比他们回答的更好了。

Python学习资料

如何系统地自学 Python? http://www.zhihu.com/question/29138020?utm_source=qq&utm_medium=social (分享自知乎网)

Python 有哪些好的学习资料或者博客? http://www.zhihu.com/question/34907211?utm_source=qq&utm_medium=social (分享自知乎网)

其他资料

学习编程专栏 https://zhuanlan.zhihu.com/passer
贺利坚的课程教学 http://blog.csdn.net/sxhelijian/article/details/8001601
网易云课堂大学计算机专业课 http://study.163.com/curricula/cs.htm
好了,一不小心推荐了这么多书,其中大部分书我也没有仔细阅读,毕竟不是科班出身。学完上述基础课,应该可以算是计算机入门了吧,或者说有了较为扎实的计算机基础,对以后从事相关领域研究应该障碍不大。

路漫漫其修远兮,学习的路上必然是枯燥的。没有含着金钥匙出生,就需要一步一步的积累自己,在做自己感兴趣的事情同时,给社会带来价值,自然就会有收获!

计算机专业的入门书籍(第一篇博客)相关推荐

  1. 林大计算机学子第一篇博客

    林大计算机学子第一篇博客 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下 ...

  2. 第一篇博客——自我介绍篇

    首先介绍下自己.我来自山东理工大学,专业为矿业工程,是一名非科班专业应届毕业生. 这是我的第一篇博客.之前从来没接触过博客,一直都是在笔记本记录,沾边一点的也就是发发朋友圈.今天是我写博客的第一天,从 ...

  3. 人生第一篇博客,欢迎大佬莅临指导!

    前话 大家好 ,这是我的第一篇博客 ,我今年是一名大二的学生 ,今年21岁, 最近听到许多程序员有写博客的想法 ,所以我就有了突发奇想,准备开始写博客.记得我大一开学的时候 我申请了一个公众号:计算机 ...

  4. C博客作业00--我的第一篇博客

    这个作业属于哪个班级 C语言–网络2011/2012 这个作业的地址 C博客作业00–我的第一篇博客 这个作业的目标 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记. ...

  5. 第一篇博客------自我介绍

    目录 自我介绍 编程目标 如何编程 希望进入的公司 自我介绍:       Hello!!!我是一名即将步入大二的计算机小白. 小白 姓名:###(三个字) 性别:男 年龄:大二(大概也就0--100 ...

  6. Healer的第一篇博客

    1.自我介绍 Healer是来自双非一本弱校的小白一枚,说不上对编程感兴趣但也绝对不会排斥编程.但是既然选择了计算机专业,那呆瓜就有信心就要搞好它,只要坚持下去,Healer一定可以从小白变成大牛! ...

  7. 人生第一篇博客——小试牛刀

    看过了那么久别人的博客,最近决定开始写写自己的博客,希望能在方便他人的同时,巩固自己的知识并督促前行,记录自身成长的同时用自己的微薄的力量帮助他人.我是最近喜欢上编程并着手开始学习的,在之后的时间里, ...

  8. 启航——我的第一篇博客

    简单的自我介绍: 本人目前就读于西安科技大学软件工程专业,大二,下学期大三.惭愧的是尽管很早之前就注册了csdn,但至今才发第一篇博客(以后一定多多发表,与大家进行共勉)虽然现在才发表博客,但并不代表 ...

  9. 第一篇博客,与您共勉

    第一篇博客,与您共勉 提示:点击右上角关注博主,收获共同话题 大家好,好男人就是我,我就是小陈同学.下面是我的个人相关简介: 文章目录 第一篇博客,与您共勉 个人介绍 学习的一些计划: 最后 个人介绍 ...

  10. 注册博客,写的第一篇博客

    写的第一篇博客 一.谈谈以下内容 1.自我介绍. 2.编程的目标. 3.打算怎样学习编程? 4.打算每周花费多少时间? 5.我最想从事什么工作? 一.谈谈以下内容 1.自我介绍. 我目前是就读于辽宁工 ...

最新文章

  1. 小小的吹一下集结号~
  2. Mac OS Sierra安装Imagick
  3. 本机获取Intel AMT IP地址的例子
  4. Apprentissage du français partie 2
  5. Linux时间子系统(十六) clockevent
  6. 上岸 1 年后,重回大厂内卷
  7. Java 中文按拼音进行排序
  8. 二叉树的遍历(递归、栈、morris莫里斯算法)三种方法
  9. 网易云信第三方接口调用超详细Demo
  10. VSPD虚拟串口使用
  11. web渗透测试学习路径图
  12. java日志使用笔记
  13. cad怎么倒圆角_15个超实用CAD技巧,效率递增10倍,设计院师傅都在用
  14. 中文拼写检测(Chinese Spelling Checking)相关方法、评测任务、榜单
  15. Mac 备份 time machine开启全速备份
  16. 中小公司拥抱数字化:你看我还有机会么?
  17. CSS 制作烟雾效果文字
  18. 《大数据时代》观后感
  19. 迷宫找路(从起点找到终点)
  20. 花之语第十六期:凤凰木

热门文章

  1. 自带作弊功能的老虎机--一样会让你输光,呵呵
  2. server sql 将出生日期转为年龄_SQL语句如何根据出生日期计算年龄
  3. 计算机基础中图文混排的重要性,浅谈项目教学在技校计算机应用基础中的应用.doc...
  4. 乔布斯斯坦福大学演讲
  5. 计算机后台打印机程序,打印机不能正常工作,提示'操作无法完成,后台打印程序服务没有运行'的解决方法...
  6. wangEditor富文本实现导入word功能
  7. java根据出生日期计算年龄_通过出生日期获取年龄的方法--Java
  8. 高德地图中自定义色块标识任意省市县区域
  9. Gimp去除图片背景色方法
  10. Microsoft Office Home and Student Edition 2013 All-in-One For Dummies 免积分下载