计算机科学导论
这里介绍的内容是一些有关计算机科学的基础知识,它们会带您从一个较为宏观的视角去了解计算机科学的发展历程、基本概念、基础知识等。在您深入学习计算机的过程中,这些知识将作为根基并扮演地图的角色。
计算机科学速成课
Computer Science Crash Course 是一系列科普性质的视频,它将带您了解计算机科学的发展史,并介绍一系列计算机基础知识。南京大学魏恒峰老师的编译原理(2024 年春季版本)的第一次作业就是就包含了看这门课。
这门课的中文翻译的版本可以在 bilibili 找到。
《编码》
如果您更喜欢阅读书籍,那么《编码》 是一本不错的选择。
Nand2Tetris
看完了视频、书籍,想来点实操的?那就试试 Nand2Tetris 吧。这是来自耶路撒冷希伯来大学的两位教授合作制作的一门课程,课程名中的 Nand 即与非门、Tetris 即俄罗斯方块。这门课程的目的是带领学生从与非门开始,逐步构建出一台完整的计算机,并在其之上写一个俄罗斯方块游戏。
听上去可酷毙了,但是实际上课程难度却并没有想象中那么大,非常值得一试。
您可以在 Coursera 上免费(选择没有证书的版本)学习这门课程,链接如下:
课程网站地址如下:
配套的书籍是 The Elements of Computing Systems: Building a Modern Computer from First Principles,中文版叫做《计算机系统要素:从零开始构建现代计算机》。
CSAPP
CSAPP 指的是 Computer Systems: A Programmer’s Perspective,中文名是《深入理解计算机系统》。这本书是一本经典的计算机系统基础教材,它从程序员的角度出发,介绍了计算机系统的各个方面,非常值得一读。