美文网首页iOS开发火星干货集干货粗粮饼
2017计算机系书单推荐(排版更新)

2017计算机系书单推荐(排版更新)

作者: 筑梦师Winston | 来源:发表于2018-04-13 01:48 被阅读13723次

    前言

    这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.

    个人学习方法分享
    2018年计算机系书单分享

    本文阅读建议
    1.一定要辩证的看待本文.
    2.本文不允许转载,因为...因为我要提供网盘给大家..
    3.本书单所涉及书籍如有需要,可以评论私信我,**无偿提供网盘**,仅供学习交流使用,如有侵权请与我联系.
    4.因为本人才学会Markdown语法,故将17年书单重新更新排版.
    5.如果您有什么书籍想要推荐,请不吝私信给我,我将更新本文.
    6.文中提到的为重点书籍,并不包含网盘中所有书籍.
    7.觉得哪里不妥请在评论留下建议~
    8.觉得还行的话就点个小心心鼓励下我吧~
    

    目录
    1.读书方法
    2.基础书单
    3.清华大学计算机系书单
    4.C语言
    5.C++
    6.Java
    7.Python
    8.GO
    9.计算机网络
    10.算法
    11.数据结构
    12.程序设计
    13.Unix/Linux
    14.UML和面向对象
    15.计算机组成/体系结构
    16.分布式/架构
    17.大数据/HADOOP
    18.数学系列
    19.Git
    20.安卓
    21.iOS
    22.其他
    23.CS系列书单(很详细)
    

    本文最后有:授人鱼不如授人以渔(找书方法)


    个人想法

    我想成为一名优秀的程序员,我虽然不是计算机系的学生,但我不能落后,我要努力成为优秀程序员的一员。我觉得每个人都有自己的想法和规划,一个理智的人会去分辨旁人的风言风语,把善意的话听进去,使自己成长。同时不受那些自己不上进也看不惯别人学习的人。时刻明确自己的目标,努力做好自己,在程序员这条路上,要谦虚要谨慎。话不多说。把我这几天准备的书单推荐给大家.


    读书方法

    读书方法仅供参考,如果你有好的建议,请不吝评论交流哦.


    循序渐进

    大家都知道,书籍方面,在各个分类中都有那么几本出名的书籍,但是学习成本和时间成本却很高,需要长时间去阅读吃透.

    又或者说,我们总说数据结构要看,算法导论也要看,但往往看了50多页我们就放弃了.

    如果你没有养成看书的习惯,以及自己的看书方法,建议不要一开始就阅读高难度的书籍,会直接破坏你对看书的兴趣.从而失去从书籍中获取知识的途径.

    这么说吧,我之前看书也是不得其法,3个月看不了多少页,而且没有什么印象,喜欢咬文嚼字,后来发现,计算机系的书大多是理解为主,多次阅读进行深度体会,反而会更加得心应手.

    而相对程序员思想这一类的书,则更加需要体会,拥有自己的理解.


    思维拓展

    在看书进行学习的时候,一定要边看边实践,实践的同时,一定要发散性思维,去思考相关的知识.

    如果你是刚步入计算机应用,或者编程语言类书籍的学习,可能不会考虑到业务逻辑,以及架构思想等,因为知识面还不够宽广.就多想一些基础问题.不论这个问题多么的奇怪,一定要去寻找答案,并解决,这样会更加的印象深刻.

    如果你想在学习时拥有成熟的思想,我推荐你从以下几个方面思考每一个书中遇到的知识点(针对编程语言类书籍)

    工作层面:(可以直接百度 你所学的知识加上'开发'或者'工作中'等关键词进行学习)

    业务逻辑实现:(生搬硬套不可取,而是如何灵活运用实现成熟的逻辑)

    自我应用:(学习新的知识点以后,你可以自己思考应用在什么地方)

    当你使用百度去搜索知识时,别人可能会提到一些你不懂的知识点,不用很深入的再去百度一下.拓宽自己的知识面,使得所有的知识都不再是死的,而是灵活组合的,程序当中都是各自联系,成为一个体系的.都是有联系的.


    三维笔记

    什么是三维笔记呢,也就是我个人的一个学习方法.

    自学读书笔记+学习日志&视频学习+成型的输出笔记.

    自学读书笔记:就是记录书中的知识点,用自己的理解整理知识点,而并非搬运书中的目录结构.并会记录每一个自己会思考到的问题,以及知识拓展.

    学习日志&视频学习:这里并不是强制让你搜罗视频学习,而是书是出版的,有些知识可能会过时,所以一定要结合实时知识,辩证的去理解每一个知识.学习日志是为了记录自己每天干了什么,不要虚度光阴,使自己可控.

    成型的输出笔记:结合前两个笔记以后,将自己的笔记整理成可以写成文章的笔记,输出倒逼输入学习法,在输出文章的同时,自己会自然而然想要完善文章,达到面面俱到,进行学习补充.


    基础书单

    1.算法导论
    2.计算机算法基础
    3.编译原理
    4.操作系统-精髓与设计原理
    5.数据库系统原理
    6.离散数学及其应用
    7.计算机网络
    8.计算机组成原理
    9.Essential C++(注释版)
    10.java程序设计教材
    11.数据结构
    12.线性代数
    13.高等数学
    14.大学物理学
    15.概率论
    16.数理统计
    17.模拟电子技术
    18.电路原理
    19.Linux服务器操作系统
    20.网络设备与网络技术
    

    清华大学计算机系12门课程

    1.数据结构 严蔚敏
    2.编译原理 张素琴
    3.内容中心网络体系架构
    4.计算机系统结构
    5.图论与代数结构
    6.计算机组成与结构
    7.80x86汇编语言程序设计
    8.C语言程序设计
    9.多媒体技术基础
    10.数据库系统概论
    11.C++语言程序设计
    12.计算机局域网
    

    知乎书单 by ZhiSheng

    这份书单可以说是很详细的涉及到了各个语言的好书,是我在某个问题回答里看到的。

    C语言

    《C程序设计语言》
    《C语言参考手册》

    C++

    《Essential C++》
    《C++ Primer》
    《深度探索C++对象模型》
    《C++程序设计语言》
    《Think in C++ C++编程思想》

    Java

    《Java语言规范》
    《Java并发编程实战》
    《Java核心技术 卷1》
    《Java核心技术 卷2》
    《 Java编程思想》
    《Effective Java》
    《深入分析Java Web技术内幕》修订版
    《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版

    Python

    《Python学习手册》
    《Python核心编程》
    《Python网络数据采集》
    《Flask Web开发:基于Python的Web应用开》发实战

    GO

    《GO并发编程实践》

    Network

    《计算机网络自顶向下方法》
    《计算机网络》
    《计算机网络系统方法》
    《TCP/IP详解卷1》
    《TCP/IP详解卷2》
    《TCP/IP详解卷3》

    算法

    《算法导论》
    《算法》

    数据结构

    《数据结构与算法分析C语言描述》

    程序设计

    《程序设计实践》

    Unix/Linux

    《The Design Of The Unix Operating System》
    《 Unix环境高级编程》
    《Unix网络编程卷1》
    《Unix网络编程卷2》
    《Unix超级工具》
    《Unix编程环境》
    《Unix编程艺术》
    《鸟哥私房菜——基础知识篇》
    《鸟哥私房菜——服务器篇》
    《Linux内核设计与实现》
    《Linux系统编程》
    《深入理解Linux内核》
    《 Linux设备驱动》

    UML和面向对象

    《面向对象分析与设计》
    《UML面向对象建模与设计》
    《UML用户指南》
    《设计模式》

    计算机组成/体系结构

    《深入理解计算机系统》
    《计算机体系结构量化研究方法》
    《计算机组成与设计:硬件/软件接口》
    《计算机组成与嵌入式系统》
    《MIPS体系结构透视》

    分布式/架构

    《分布式系统概念与设计》
    《分布式系统原理与范型》
    《大型网站技术架构:核心原理与案例分析》
    《大型网站系统与Java中间件实践》

    大数据/HADOOP

    《Hadoop权威指南(中文第2版)》

    数学系列

    《数学分析新讲》
    《数学之美》

    Git

    《Git 权威指南》

    安卓

    《第一行代码 android》
    《Android 开发艺术探索》
    《安卓群英传》

    iOS

    《Objective-C编程之道之IOS设计模式解析》
    《Objective-C基础教程(第2版)》

    其他

    《人月神话》
    《编译原理》
    《事务处理》
    《汇编语言程序设计》
    《程序员的自我修养—链接、装载与库》
    《代码揭秘----从c/c++角度探索计算机系统》
    《编程之美》
    《剑指offer》


    知乎书单 By 箴光司

    这份书单主要是国外CMU大学课程表,是一份国外大学如何进行CS课程学习目录。从不同的学习方法以及角度,进行进一步的学习。

    CMU的课程计算机核心课程

    (合计 17学分, 学分已经转化为成国内的算法,略有出入)如下:

    15-128 Freshman Immigration Course (介绍类,时间很短)
    
    15-122 命令式语言编程Principles of Imperative Computation (2.5学分,没有编程基础的同学)
    
    15-150 函数式语言编程Principles of Functional Programming(2.5学分)
    
    15-210 并行/串行数据结构 Parallel and Sequential Data Structures and Algorithms (3学分)
    
    15-213 计算机系统基础Introduction to Computer Systems (3学分)
    
    15-251 计算机理论基础Great Theoretical Ideas in Computer Science (3学分)
    
    15-451 算法分析与设计 Algorithm Design and Analysis (3学分)
    

    B: 一门技术交流课程One Communcations course:

    15-221 计算机科学家技术交流Technical Communication for Computer Scientists(2学分,相当于我们的英文写作课程,也关注口头表达)
    

    C: 从下面选择一门算法课程

    15-354 计算离散数学Computational Discrete Mathematics (3学分)
    
    15-355 现代计算机代数Modern Computer Algebra (2学分)
    
    15-453 形式化语言与自动机Formal Languages, Automata, and Computability (2学分)
    
    21-301 组合数学Combinatorics (2学分)
    
    21-484 图理论Graph Theory (2学分)
    

    D: 从下面选择一门应用类课程

    05-391 人机交互 Designing Human Centered Software (3学分)
    
    05-431 用户界面Software Structures for User Interfaces (1.5学分)
    
    10-601 机器学习 Machine Learning (3学分)
    
    11-411 自然语言处理 Natural Language Processing (3学分)
    
    15-313 软件工程 Foundations of Software Engineering (3学分)
    
    15-322 计算机音乐 Introduction to Computer Music (2学分)
    
    15-323 计算机音乐和信息处理 Computer Music Systems and Information Processing (2学分)
    
    15-381 人工智能 Artificial Intelligence: Representation and Problem Solving (2学分)
    
    15-384 机器操作Robotic Manipulation (3学分)
    
    15-385 计算机视觉Computer Vision (2学分)
    
    15-415 数据库应用Database Applications (3学分)
    
    15-462 计算机图像Computer Graphics (3学分)
    

    E:从下面选择一门理论类课程

    15-312 计算机语言基础 Foundations of Programming Languages (3学分)
    
    15-317 构造逻辑 Constructive Logic (2学分)
    
    15-414 计算机自动化验证 Bug Catching: Automated Program Verification and Testing (2学分)
    
    21-300 基本逻辑 Basic Logic (2学分)
    
    80-311 复杂性 Computability and Incompleteness (2学分)
    

    F:从下面选择一门软件系统类课程

    15-410 操作系统 Operating System Design and Implementation (3学分)
    
    15-411 编译器 Compiler Design (3学分)
    
    15-418 并行体系结构与编程 Parallel Computer Architecture and Programming (3学分)
    
    15-440 分布式系统 Distributed Systems (3学分)
    
    15-441 计算机网络 Computer Networks (3学分)
    

    授人鱼不如授人以渔(找书方法)

    本人连续4天趴在知乎上,等各大网站上进行搜书。可以说我是一时兴起。很多人都说 我搜这么多书,不会看的。我笑笑,对,我可能真的看不完,但我不会不看。这三份书单的书pdf版相关的,不相关的我都找了,同时结合着百度,知乎,豆瓣等各网站找到各个科目相关知名书籍的pdf。抱歉原英文本没有几个,因为我自己英语水平还看不懂外著。

    这些书的pdf版可能会涉及到版权问题吧。我三份书单大概找了有16G的pdf书,都找齐了,有需要的可以简信给我,免费传阅。

    妙,16G的书包含了(三份书单各个知识点各个语言的好书)。但是,作为一个读者,我只对其中一本书感兴趣,我才不要你的16G,一点用都没,除了装能干吗?说的好!如果你想自己搜,没问题。鱼竿给你。


    搜索利器

    首先推荐无私奉献的脚本之家,这个站长呢唯一的要求可能就是,有的书需要你去关注公众号要百度盘密码,免费的。

    脚本之家--搜索框直接搜索

    第二个就是 会报有危险的网盘网站,虽然我也不知道有什么危险,你们如果知道告诉我,我把这个删了

    搜索--点击资源--跳转百度盘

    第三个就是 不知道在哪里淘的搜索网站 直接下载 用来下原英文本很不错哦

    英文搜索网站

    第四个就是 很有名的CSDN 资源搜索,我还买了个年会,为了下载舒服点。

    CSDN下载页--右边搜索栏使用就好

    在这里点名三本书:《自然语言简明教程》《深入理解机器学习 原理及算法》《数据库系统设计实现与管理》这三本书在网上的pdf资源我没有找到,尽管我动用了谷歌什么的,都只能找到加密的。然后。。然后我买了。如果有需要这三本书的话,你就别买了,我给你。

    感谢这两位以及各位大牛在网络上提供的答案,使我找到了这些书。


    结束语

    如果您对这篇文章有什么意见或者建议,请评论与我讨论.
    如果您觉得还不错的话~可以点个喜欢鼓励我哦.
    如果您想和我一起学习,请毫不吝啬的私信我吧~

    因为我不是随时都可以回复,目前可以关注我的个人公众号,回复书单二字即可获得17年书单和18年书单的网盘地址,待我规划好还会不定时更新文章。

    相关文章

      网友评论

      本文标题:2017计算机系书单推荐(排版更新)

      本文链接:https://www.haomeiwen.com/subject/xzyqkftx.html