注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
1. 课程的基本信息:课程平台,开课学校,课程全名,开课时间,课程链接。
课程平台: Coursera
开课学校: Hebrew University of Jerusalem
课程全名: Build a Modern Computer from First principles: From Nand to Tetris开课时间: 不限
课程链接: https://www.coursera.org/learn/build-a-computer/home/welcome
2. 课程难度,作业量,每周花在这门课的时间,以及你的基础(是初学者?还是本来就是你的专业内容?)
这门课程的名称是 《用第一原理设计现代计算机,从与非门到俄罗斯方块》。课程承诺带着你从零开始设计一台计算机,包括计算机的硬件和软件系统。一开始我很疑惑,怎么从零开始搭建硬件系统,难道是要教买零件和焊电路板吗,后来发现不用,这门课程提供了很完善的辅助性软件,比如硬件的设计和搭建,是用Hardware simulator和 Hardware description language实现的,省去了直接动手操作的麻烦,但是足够让你理解计算机底层实现的原理。
课程分上下两部分。
上部分主要介绍硬件系统,用 Hardware simulator 和 HDL 有最基本的Logic gate -NAND(与非门) 开始,构建一个简易的计算机硬件系统 - hack computer. 循序的分为几步:
1. 由NAND gate(与非门)开始build其他的 elementary 和 combinatorial logic gates, 比如 AND, OR, NOT, MUX, 以及其他的multi way gates
2. Build arithmetic gate "ADD" 以及计算机的arithmetic logic unit (ALU)
3. Build Sequential logic gate, register, memory and counter;
4. 介绍machine language 和 Assembly language
5. Build Center process unit (CPU);
6. 介绍并implement汇编器(Assembler)
下部分我还没用上完,主要介绍的是软件系统,每周的作业就是用任意的high-level programming language来implement软件系统的各个部分,比如virtual machine, compiler,operating system,一种High-level programming language (Jack),以及最终在你实现的这一整套软硬件体系之上来开发应用程序,比如俄罗斯方块。
上半部分课程的难度并不大,没有prerequisite,大概每周lecture 2-3h, 阅读材料 2-3小时,作业3-4小时, 最后一章Assembler会比较难。
下半部分软件系统的课程作业难度比较大,需要你有一些编程基础,大概每周lecture 2-3h, 阅读材料 2-3小时,作业6-10小时。
3. 各种感想、收获、课程内容介绍、你对这门课的评价等等~~这个就自己发挥啦
我在网上找到一个关于这门课上半部分的详细介绍,介绍得比我好,大家可以看一看 https://www.jianshu.com/p/df7508be2545;我上这门课之前,自认为是个计算机白痴,但这门课很神奇得做到了将一个复杂的计算机系统拆分成很多递进的小模块,让一个每一个模块都变得可以理解。这门课的教师Shimon Schockens也是非常优秀的教育家,大家可以看看他的TED演讲 https://www.ted.com/talks/shimon ... puter_course#t-5789。
我非常推荐这门课,Professor讲解得很清晰,各种辅助性软件很全面,我并没有购买这门课程,算是旁听,作业不能提交,但是课程提供的这些软件已经足够帮助你检测答案是否正确。
4. 这门课和其他你跟过的课,用过的资源或者是学校上过的课有什么区别?(选答,如果你还跟过其他类似的课的话)
我已经不太记得本科的微机原理课了,只记得上得雨里雾里。。。
|