目前人在读英国一所大学的线上CS学士,可是品质老实说不是不好,连一些像作业系统
跟编译原理的课都没有,不过学费跟英国本地比算很便宜就是(一年大约20-25万).
加上课业不是很重,所以我平常会上一些国外大学免费的CS公开课,主要是想补足目前
所学的不足.这次主要想分享一下上过的课程跟看过的书,看有没有人也需要的
以下主要来自我自己的经验跟国外很有名的线上CS自学资源网:
https://teachyourselfcs.com/
1.资料结构&算法
UCB CS61B:https://sp18.datastructur.es/
很有名的公开课之一,用Java教的,所有课程影片跟LAB都有免费公开
个人觉得这堂课最好的点之一在不仅仅只教资料结构,包括一些软件
开发的方法(Unit Test)跟OOP都有讲到.我上到图论那边就先暂停了
等以后需要用到在继续上
MIT 6.006:https://www.youtube.com/watch?v=ZA-tUyM_y7s
MIT的算法课,我觉得跟UCB的相比比较偏理论一点,用Python教的
2.计算机组织
CSAPP:https://imgur.com/a/BUfDPn6
最有名的系统书之一,目前我读过2、3、6、8章,其他章之后有时间
在看.其实我个人觉得CSAPP有一些地方讲的不是很透彻,加上字体也不大
读起来体验其实还好,不过这本书好处就是范围很大,从组合语言到网络
都有讲,只是不理解的地方可能还要额外找资源就是了
Advanced Programming in the Unix Environment:
https://imgur.com/a/1y0Rl3U
这本书我跟CSAPP一起看,一些比较细节的部分如果CSAPP没讲到可以看这本
前面几张我还没看,主要是看后面再讲multi-process跟Unix signal的章节
影片的话,可以看
UCB CS61C:
www.bilibili.com/video/BV1jy4y1E7AY/
MIT 6.004:
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-004-computation-structures-spring-2017/
3.作业系统
OSTEP:https://imgur.com/a/6Lb6tVi
个人读过最好的教科书之一,作者用很简单的方式把一些很复杂的观念讲的
很透彻,基本上整本书模式就是 1.提出问题 2.解决问题 3.解法的优势跟劣势
我觉得这本书在观念的讲解上比CSAPP清楚,如果CSAPP第8章开始讲作业系统
看不懂的话可以先看这本书
作者还很佛心的在github(https://github.com/remzi-arpacidusseau/ostep-projects)
上放出了很多projects,从写一个小型shell到web server都有,而且每个都有
给测试,可以边看这本书边做
MIT 6.S081:https://pdos.csail.mit.edu/6.S081/2020/schedule.html
MIT的作业系统课,也是从lab到project都有开放,我是边看CSAPP跟OSTEP边上的
(目前还没上完)