作者:郑传军
链接:/question/21405835/answer/29580395
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
大一上学期:
1. 计算机导论 这个随便找个名校的课程就行,主要是梳理后面的知识脉络。
2. c语言 《k&r》一本即可,也不要全看完(初次看后面铁定看不懂),到struct那章把所有语法点弄明白就差不多了。其他c语言方面的书可以涉猎,但实话说帮助不大。
sp:这时最好动手实践计算机配机器,装机器;
大一下学期:
3. 数据结构与算法 《算法导论》一本即可,关键是每章习题必须全部做完,配合mit教学视频(带有中文字幕)。当然也不用全部看完,到动态规划和贪心算法那章即可,有兴趣看完则是好事。这个横跨大一与大二。
4。 线性代数 清华版或是同济版到都可以,mit有开放课程视频(带有中文字幕)。
sp:这时可以学点网页制作相关知识,推荐《Web标准设计》与《CSS权威指南》,想入门千万别用dreamweaver
大二上学期:
5。计算机组成原理 这个推荐《深入理解计算机系统》,中文版前面翻译都很好,后面稍微差点,但总体质量很高(这算是帮美女老师做广告么。。。)这本关键是每节插入的各个习题,每章后面的习题不要求。这本书实际还涵盖:汇编语言,操作系统导论
6。 离散数学 这个可以用国内教程,也可以用国外教材
sp:C++ 《C++ Primer》入门一本即可;
大二下学期:
7。 概率论与数理统计 这个跟上面一样,国内数学教材也很好
8。 操作系统 什么鸟叔就呵呵了,这门课关键是设计实现好不,最需要掌握的是操作系统中涉及的简单算法与数据结构概念。所以推荐《操作系统原理》。浙大都有开放教程。
9。 数据库导论 推荐《数据库原理》,这门课关键是数据库系统中的库表设计和sql使用,必须动手做点小项目。自学Java或是php搞点什么xx管理系统吧
sp: Linux操作入门,Java,PHP,Mysql等DBMS。到这里已经基本入门了,做点小项目问题不大,之后才是真正开始修炼各种高级内功的时候,最关键书理论要理解,实践也不可以少。
大三上学期:
10。 计算机网络 推荐那本国内谢希仁的,别看啥自顶向下。
11。 计算机体系结构 推荐国外那本《计算机组成与软硬件接口》,别忘记习题。
12。 编译原理 入门《龙书》就可以了,可以跳过第二章,第一遍看到第六章就行,别忘记习题与实践。完全可以跟着cousera上那门Compiler,有视频有实践作业挺好的。
大三下学期:
从这里开始可以根据兴趣专研自己感兴趣到部分了,必修一门:
13。 软件工程 书太多了,经典理论与敏捷理论都最好涉猎一下;不过光看用处不大,可以做些项目了,在实践中学习才是最好的学习。
sp:这时应该已经做过几个小项目了,可以学习使用版本控制软件svn以及git进行代码文档的管理。
@yuwei 提议增加方向的选择,个人也只能根据稀少的经验稍微写点目前的推荐书目,因为专研到各个技术方向的细节太多,而且瞬息万变,不像入门只要看经典就可以了。
Web前端:可以在编译原理、计算机网络、图形学多巩固一下。js入门推荐《JavaScript高级编程》,千万别直接看犀牛书。
Web后端:分为Java和C++方向,前者多看下《设计模式》,后者肯定得把《effective C++》系列读完。C++方向推荐看看《UNIX环境高级编程》《STL源码剖析》
系统:在操作系统、体系结构多下点功夫,推荐看看《计算机系统结构:一种量化研究方法》,《操作系统设计与实现》,反正系统架构是一通百通
算法:本人一窍不通
另外强烈推荐《计算机程序的构造和解释》!
如果觉得《计算机科学与技术专业的大学学习内容》对你有帮助,请点赞、收藏,并留下你的观点哦!