目前人在讀英國一所大學的線上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邊上的
(目前還沒上完)