.NET程序员走向高端必读书单汇总

1.计算机组织与体系结构

计算机系统的组织结构,以 冯·诺依曼模型作为基础,是计算机的硬件基础。

核心知识点

  • 数据的机器表示
  • 汇编级机器组织
  • 接口和通信
  • 存储系统
  • 多处理器

参考书籍

2. 算法与数据结构

很多人觉得现在应用系统根本就不需要数据结构,高级语言早已经封装好了,不需要学习。这个问题类比于如果只干搬砖砌墙的活,熟练掌握工具那也就够了。但是要想设计建筑的话,物理是必须学的。

核心知识点

  • 算法策略:穷举算法贪心算法分治算法回溯法数值逼近
  • 基本算法:查找算法排序算法哈希表图算法最小生成树
  • 基本数据结构:列表

参考书籍

分类书籍难度重要度
数据结构与算法分析《数据结构与算法分析》 https://book.douban.com/subject/1139426/一般精读
算法描述语言入门《c和指针》 https://book.douban.com/subject/3012360/一般精读

解释下为什么要把《c和指针》放到这里,因为个人觉得所有算法与数据结构描述语言中c是最爽的一种(没有之一),并且在《c和指针》中不仅讲解了c语言,更对简单的数据结构和算法做了讲解,非常漂亮。建议一定在正式学习《数据结构与算法分析》前先看这本。

3. 操作系统

操作系统中的很多概念需要了解,比如进程、线程、资源互斥,在实际开发中很多地方都需要用到。

核心点:

  • 内存管理
  • 设备管理
  • 调度算法
  • 并发性

参考书籍

分类书籍难度重要度
操作系统原理《现代操作系统》 https://book.douban.com/subject/3667744/较难泛读

4. 计算机网络

计算机和远程通信网络尤其是基于TCP/IP网络的发展,使得联网技术变得十分重要。

核心知识点

  • 网络分层(Tcp/ip 4层结构)
  • 网络传输安全
  • HTTP协议

参考书籍

分类书籍难度重要度
计算机网络《计算机网络》 https://book.douban.com/subject/1179807/较难泛读
HTTP协议《图解http协议》 https://book.douban.com/subject/25863515/简单精读

5. 信息管理

信息管理技术在计算机的各个领域都是至关重要的 , 它包括了信息获取、信息数字化、信息的表示、信息的组织、信息变换和信息的表现 ; 有效存取算法和存储信息的更新、数据模型化和数据抽象以及物理文件存储技术.

核心知识点

  • 数据建模
  • 数据库系统
  • 关系型数据库系统(Mysql最佳)

参考书籍

分类书籍难度重要度
数据库基础《数据库系统概念》 https://book.douban.com/subject/1929984/较难泛读
mysql数据库《高性能Mysql》 https://book.douban.com/subject/4241826/一般精读

6. 开发语言及框架(以.net平台为例)

这个主要到程序领域了,本文以.net平台为例。

核心知识点

  • CLR
  • 面向对象程序设计
  • Web编程

参考书籍

分类书籍难度重要度
虚拟机技术《CLR via c#》 https://book.douban.com/subject/4924165/较难精读
面向对象程序设计《敏捷软件开发 c#版本》 https://book.douban.com/subject/1140457/一般精读
C#语言《深入解析c#》 https://book.douban.com/subject/4822302/一般精读
 《c#与.net4高级程序设计》 https://book.douban.com/subject/6062550/一般精读
ASP.NET《asp.net高级程序设计》 https://book.douban.com/subject/6428937/一般精读
JavaScript《JavaScript权威指南》 https://book.douban.com/subject/10549733/一般精读
 《JavaScript模式》https://book.douban.com/subject/11506062/一般精读
 《javaScript语言精粹》https://book.douban.com/subject/3590768/一般精读
HTML&CSSw3c网站简单精读

7. 软件工程

软件工程学科涉及到为高效率地构建满足客户需求的软件系统所需的理论、知识和实践的应用。 软件工程适用于各类软件系统的开发 , 它包含需求分析和规约、设计、构建、测试、 运行和维护等软件系统生存周期的所有阶段。软件工程使用工程化方法、技术和度量 , 它使用管理软件开发的工具、软件制品的分析和建模工具、质量评估与控制工具、确保有条不紊且有控制地实施软件演化和复用的工具。 软件可由个人开发者或者开发小组进行 开发 , 他们 要选择 最适合 开发 环境 的工具、方法和途径。质量、进度、成本等软件工程的要素对软件系统的生产都是十分重要的.
核心知识点

  • 软件设计
  • 软件过程
  • 软件项目管理

参考书籍

分类书籍难度重要度
软件设计《head first 设计模式》 https://book.douban.com/subject/2243615/一般精读
 《企业架构模式》 https://book.douban.com/subject/4826290/一般精读
软件工程《软件工程》 https://book.douban.com/subject/6047742/一般精读
项目管理《如何管理软件企业》 https://book.douban.com/subject/4178846/一般泛读
项目管理《软件项目管理与敏捷方法》 https://book.douban.com/subject/4837350/一般精读

二、学习方法

要想学完以上知识光靠死记硬背是不行的,要有科学的方法,下面书籍包括了科学的学习方法。

分类书籍难度重要度
学习方法《整体学习》 https://book.douban.com/subject/25783654/一般精读
阅读方法《如何阅读一本书》 https://book.douban.com/subject/1013208/一般精读
时间管理《另外8小时》 https://book.douban.com/subject/10535830/一般精读
 《把时间当作朋友》 https://book.douban.com/subject/5171244/一般精读
禅修《正念禅修》 https://book.douban.com/subject/23037911/一般精读

三、后记

以上书籍是计算机科学上需要学习的书籍的整理,部分看过,也有很多还没看过或没看完,而且由于知识有限还有很多书籍或知识点没有例出。希望可以有更多朋友一起来完善这个书单,让我们每个人都可以享受到知识所带来的乐趣

我相信,只要合理利用时间,坚持学习,在加上科学的方法,定可获得越来越多的知识,同样的财富也会随之而来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值