您将获得的成果:在这门以项目为中心的课程*中,您将从头开始构建一个现代计算机系统。我们将把这一奇妙的旅程分为六个实践项目,从构建基本逻辑门一直到创建一台功能完备的通用计算机。在这个过程中,你将以最直接、最有建设性的方式了解计算机是如何工作的,以及它们是如何设计的。 你需要什么:这是一门自成一体的课程:学习成功和构建计算机系统所需的所有知识都将作为学习体验的一部分。因此,我们假定学员没有计算机科学或工程方面的知识,欢迎所有学员参加。您不需要任何实物材料,因为您将使用基于软件的硬件模拟器在自己的个人电脑上构建计算机,就像计算机工程师在现场设计真实计算机一样。硬件模拟器和其他软件工具将在您注册课程后免费提供。 课程形式:课程由六个模块组成,每个模块包括一系列视频讲座和一个项目。您大约需要 2-3 个小时来观看每个模块的讲座,大约需要 5-10 个小时来完成六个项目中的每个项目。课程可在六周内完成,但也欢迎您按照自己的进度学习。您可以通过谷歌搜索 "nand2tetris TED talk "观看有关本课程的 TED 演讲:以项目为中心的课程旨在帮助你完成一个对个人有意义的现实世界项目,教师和具有相似目标的学习者社区会在学习过程中为你提供指导和建议。通过在学习过程中积极应用新概念,您将更高效地掌握课程内容;同时,您还可以利用获得的技能为自己的生活和职业生涯带来积极的变化。完成课程后,您将拥有一个可以自豪地使用和分享的成品项目。
了解顶级公司的员工如何掌握热门技能

该课程共有8个模块
课程介绍和概述、抽象和实现在系统设计中的作用、未来之路。
涵盖的内容
4个视频1篇阅读材料1个编程作业
首先,我们将简要介绍布尔代数,并学习如何使用逻辑门物理地实现布尔函数。然后,我们将学习如何使用硬件描述语言(HDL)指定逻辑门和芯片,以及如何使用硬件模拟器模拟由此产生的芯片规格的行为。这些背景知识将为项目 1 做好准备,在项目 1 中,您将构建、模拟和测试 15 个基本逻辑门。您在本模块中构建的芯片组稍后将用于构建计算机的算术逻辑单元(ALU)和内存系统。这将分别在模块 2 和模块 3 中完成。
涵盖的内容
8个视频1篇阅读材料1个编程作业
课程概况
涵盖的内容
1个视频3篇阅读材料
利用上一模块中构建的芯片组,我们现在将着手构建一个加法器系列--专为数字加法而设计的芯片。然后,我们将向前迈出一大步,构建一个算术逻辑单元。算术逻辑单元设计用于执行一整套算术和逻辑运算,是计算机的计算大脑。在本课程的后半部,我们将使用 ALU 作为核心芯片,并在此基础上构建计算机的中央处理器(CPU)。由于所有这些芯片都以二进制数(0 和 1)为运算单位,因此我们将从二进制运算的总体概述开始本模块的学习,然后再深入学习 ALU 的构建。
涵盖的内容
6个视频1篇阅读材料1个编程作业
在构建了计算机的 ALU 之后,本模块将转而构建计算机的主存储器单元,也称为随机存取存储器或 RAM。这项工作将自下而上逐步完成,从初级触发器门到一位寄存器,再到 n 位寄存器,直至一系列 RAM 芯片。与基于组合逻辑的计算机处理芯片不同,计算机的内存逻辑需要基于时钟的顺序逻辑。我们将首先概述这一理论背景,然后构建我们的内存芯片组。
涵盖的内容
6个视频1篇阅读材料1个编程作业
构建新计算机系统的一个极其重要的方面是设计低级机器语言或指令集,通过指令集可以指示计算机做各种事情。事实证明,这可以在计算机本身实际制造之前完成。例如,我们可以编写一个 Java 程序来模拟尚未建成的计算机,然后用它来模拟执行用新机器语言编写的程序。这样的实验可以让我们对新计算机的基本 "外观和感觉 "有一个很好的了解,从而做出改变和改进硬件和语言设计的决定。在本模块中,我们将采用类似的方法,假设 Hack 计算机和机器语言已经制作完成,并使用 Hack 机器语言编写一些低级程序。然后,我们将使用提供的 CPU 仿真器(一种计算机程序)来测试和执行我们的程序。这一经历将让你体验到低级编程的乐趣,并对 Hack 计算机平台有一个扎实的实践概述。
涵盖的内容
10个视频1篇阅读材料1个编程作业
让我们回顾一下过去的四个模块:我们构建了一些基本逻辑门(模块 1),然后用它们构建了一个 ALU(模块 2)和一个 RAM(模块 3)。然后,我们玩了低级编程(模块 4),假设整个计算机确实可用。在本模块中,我们将把所有这些构件组装成一台名为 Hack 的通用 16 位计算机。我们将首先构建 Hack 中央处理器(CPU),然后将 CPU 与 RAM 集成在一起,创建一个能够执行用 Hack 机器语言编写的程序的完整计算机系统。
涵盖的内容
6个视频1篇阅读材料1个编程作业
每台计算机都有一种二进制机器语言和一种符号机器语言,前者将指令写成一串 0 和 1,后者则使用人类友好的助记符来表达指令。这两种语言的功能完全相同,完全等价。但是,用汇编语言编写程序要比用二进制语言编写程序容易得多,也安全得多。为了享受这种奢侈,必须有人将我们的符号程序翻译成二进制代码,以便在目标计算机上按原样执行。这项翻译工作由一个称为汇编程序的代理完成。装配员可以是一个手动执行翻译的人,也可以是一个自动执行翻译的计算机程序。在本模块和课程的最后一个项目中,我们将学习如何构建一个汇编器。特别是,我们将开发把符号 Hack 程序翻译成二进制代码的能力,以便在 Hack 平台上按原样执行。你们每个人都可以选择两种不同的方式来完成这一壮举:要么使用高级语言实现汇编器,要么使用纸和笔模拟汇编器的运行。在这两种情况下,我们都会为您提供详细的操作指南。
涵盖的内容
8个视频1篇阅读材料1个编程作业
位教师

从 算法 浏览更多内容
- 状态:预览
Hebrew University of Jerusalem
- 状态:免费试用
University of California San Diego
- 状态:免费试用
- 状态:免费试用
人们为什么选择 Coursera 来帮助自己实现职业发展




学生评论
3,691 条评论
- 5 stars
93.01%
- 4 stars
5.71%
- 3 stars
0.54%
- 2 stars
0.16%
- 1 star
0.56%
显示 3/3691 个
已于 Sep 7, 2016审阅
Fantastic. Quite difficult for me, but I learned the material along the way. Fantastic way to train yourself to think logically and parsimoniously. And the computer knowledge is invaluable.
已于 Apr 5, 2017审阅
The course was very informative and interesting , I had a tough time doing the assignments but it was worth learning.Definitely a interesting insight into the building blocks of a computer.
已于 Aug 12, 2022审阅
Coming from a high level programming backgroun with a degree in games programming, this course was amazing to fill in the gaps in my knowledge, and solidify low level computer science fundamentals.
常见问题
要获取课程资料、作业和证书,您需要在注册课程时购买证书体验。 您可以尝试免费试听,或申请资助。课程可能提供 "完整课程,无证书"。通过该选项,您可以查看所有课程资料,提交必要的评估,并获得最终成绩。这也意味着您无法购买证书体验。
购买证书后,您就可以访问所有课程资料,包括已评分的作业。完成课程后,您的电子证书将添加到您的 "成就 "页面--您可以从那里打印证书或将其添加到您的 LinkedIn 个人资料中。
是的。在特定的学习课程中,如果您付不起注册费,可以申请助学金或奖学金。如果您选择的学习课程有助学金或奖学金,您可以在说明页面找到申请链接。
更多问题
提供助学金,