Nand to Tetris
Why I want to learn it
一方面是因为自己不仅想学code还想真正接触计算机科学,学习CS的知识。另一方面是因为自己基础薄弱,觉得迟早要学,不如先开始。
我的学习路线还是按照Teach yourselfCS-CN 来学的。
What we will learn
这里用中文快速写一遍吧。我们知道操作系统是连接软件和硬件的中间的一层,学习内容可想而知,不仅会涉及到硬件的知识,同时也会涉及到软件的代码,这门Build a Modern from the first principle是来自希伯来大学(以色列)的两名教授Noam Nisan Shimon Schocken经过很长时间探索打造的一门课,目的是帮助大家更好地了解计算机组成。这课最终目标能让大家自己打造一个操作系统(语言是类似Java的Jack语言,呃),然后在你设计的操作系统上写Tetris(俄罗斯方块这个游戏)想想还是比较激动的,虽然我现在啥都不会啊。
课程分为两大部分,第一部分是硬件篇,从数学逻辑开始,慢慢的过渡到逻辑符号的一些硬件设计然后再设计晶体管,再慢慢上升到CPU,RAM之类的,最后到集成电路(Hack 电脑)。这部分时间大概是7周45h,每天学习2h左右吧。第二部分是软件,时间也是7周&#x