之前有过很多次要痛心疾首的打好自己的基础的打算,但总是执行力度不够,现开博实时记录我的基础学习之路,希望自己可以坚持下去。
思想是:狠抓离散数学,数据结构,算法,操作系统,计算机组织结构,计算机网络这几门核心课程。
1.先刷数学,应该很快。《离散数学及其应用》/*4.17号之前完成一刷。*/
2.数据结构没什么推荐的书,尽量别用国内的就行,视频教程可以参考清华的邓俊辉的mooc课程。/*4.25之前完成一刷*/
3.算法看《Algorithms 4th》,顺带学一门面向对象的语言:C#,Java,C++都行。有精力再学个脚本语言,Python很好。有兴趣再学个函数式的语言。把里面算法实现一遍。千万别直接上《算法导论》,那个更适合作为Reference而不是入门教科书。/*五一期间完成*/
4.计算机组织结构,看《深入理解计算机系统》,神书不解释。据说本书的价值超过等同重量的黄金?我觉得也不算太言过其实。时间待定
5.操作系统 ,操作系统非常重要!推荐看《现代操作系统》,感觉比《操作系统概念》好很多。记住,操作系统一定要结合实际的操作系统来学习。看操作系统的概念,设计,更应当看操作系统的使用,实现。Linux就不多说了,基本是个操作系统教科书都是拿Unix举的例子。Windows可以参考MSDN,微软的MSDN简直是一个超级宝库,经常去挖一挖,绝不会失望的。时间待定
6.计算机网络,Andrew的《计算机网络》不错,跟现代操作系统是一个作者。《TCP/IP详解》听说很不错,我还没看。时间待定
7.编译原理就龙虎鲸吧,这个我也没看完。强烈建议学编译原理前先看自动机,推荐《自动机理论、语言和计算导论》。编译原理要是实在看不下去,只看前端的部分也行。很多计科学院甚至都不要求修这门课,但是编译原理和操作系统在我个人看来是最体现计科学生真正水平的地方了。时间待定
8.另外,操作系统,编译原理,编程语言之间三不管地带: 链接装载这里,《CSAPP》虽然有讲但不是很详细。《程序员的自我修养——装载链接和库》很不错。时间待定
9.搞完这些,来干《算导》吧...
接下来可以玩的东西很多:搞人工智能,搞图形学计算机视觉,密码学,等等等等
语言方面Python,C#,C++,Matlab当主手,大概就是这样。加油!