从第一原理构建现代计算机:从 Nand 到俄罗斯方块第二部分(以项目为中心的课程)
Shimon Schocken
口袋资源独家Coursera付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
关于本课程
在这个以项目为中心的课程中,您将构建一个现代软件层次结构,旨在支持在裸机硬件平台上翻译和执行基于对象的高级语言。特别是,您将为一种简单的、类似 Java 的编程语言实现一个虚拟机和一个编译器,您将开发一个基本的操作系统,以缩小高级语言和底层硬件平台之间的差距。在此过程中,您将深入了解应用计算机科学中的众多主题,例如堆栈处理、解析、代码生成,以及用于内存管理、矢量图形、输入输出处理等的经典算法和数据结构,以及位于每个现代计算机系统核心的各种其他主题。
这是一门独立的课程:在课程中取得成功和构建各种系统所需的所有知识都将作为学习经验的一部分提供。唯一的先决条件是在介绍计算机科学课程时获得的编程知识。完成课程所需的所有软件工具和材料将在您注册课程后免费提供。 本课程附有教科书“计算系统的要素”(Nisan 和 Schocken,麻省理工学院出版社)。虽然这不是参加课程所必需的,但本书提供了所有课程主题的方便介绍。这本书有纸质版或电子书形式,麻省理工学院出版社提供 30% 的折扣,使用折扣代码 MNTT30,网址为 https://mitpress.mit.edu/books/elements-computing-systems。
该课程由六个模块组成,每个模块都包含一系列视频讲座和一个项目。您将需要大约 2-3 小时来观看每个模块的讲座,大约需要 15 小时来完成六个项目中的每一个。该课程可在六周内完成,但欢迎您按照自己的进度学习。您可以通过谷歌搜索“nand2tetris TED talk”观看有关本课程的 TED 演讲。 *关于以项目为中心的课程:以项目为中心的课程旨在帮助您完成对个人有意义的现实世界项目,您的导师和目标相似的学习者社区会在此过程中提供指导和建议。通过在学习过程中积极应用新概念,您将更有效地掌握课程内容;您还将抢占先机,利用所获得的技能为您的生活和职业做出积极的改变。完成课程后,您将拥有一个完成的项目,您将自豪地使用和分享该项目。
你将获得的技能
- 计算机架构
- 编译器构造
- 编译器
- 操作系统