From cd061630b2bd0e7ddd95127636c50161393c5fa2 Mon Sep 17 00:00:00 2001 From: Lingkang Date: Thu, 29 Sep 2022 22:13:43 +0800 Subject: [PATCH] Create N2T.en.md --- docs/体系结构/N2T.en.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/体系结构/N2T.en.md diff --git a/docs/体系结构/N2T.en.md b/docs/体系结构/N2T.en.md new file mode 100644 index 00000000..c220da17 --- /dev/null +++ b/docs/体系结构/N2T.en.md @@ -0,0 +1,36 @@ +# Coursera: Nand2Tetris + +## Descriptions + +- Offered by: Hebrew University of Jerusalem +- Prerequisites: None +- Programming Languages: Choose by course taker +- Difficulty: 🌟🌟🌟 +- Class Hour: 40 hours + +As a popular course on [Coursera](https://www.coursera.org) marked by tens of thousands of people as full stars and adopted by over four hundred colleges, universities and high schools, it enables a layman in computer science to build a computer from Nand (Not And) logic gates, and run Tetris on it ultimately. + +Sounds cool, right? It's even cooler when you implement it! + +The course is divided into two parts, hardware and software respectively. + +In hardware portion, you will dive into a world based on 0 and 1, create various logic gates from Nand gates, and step by step construct a CPU to run a set of simple assembly codes defined by course instructors. + +And in software part, you will write a compiler, and compile a high-level language *Jack* into byte codes which can run on virtual machines, and translate them into assembly language finally. The high-level language *Jack* is developed by the authors. You will also develop a simple and easy OS (operating system), which enable your computer to input and output graphic interfaces. + +So now, you can use *Jack* to create your Tetris, compile it into assembly version, run it on your Nand-based CPU, and interact with it through the OS built by yourself. After taking this course, you will have a comprehensive and profound understanding of the entire computer architecture, which might be extremely helpful to your subsequent learning. + +Probably, you may worry that the course is too difficult, but please note that the course is completely layman-orientated. Making even high school students understood the course is the authors' expectation. So as long as you keep pace with the syllabus and schedule, it's definitely enough for you to finish it within one month. Simple, yet all-encompassing and self-sufficient, this course superbly extracts the essence of computer, while not be trapped by tedious and complex details which are designed for efficiency and performance. Surely you will sense the elegance and magic of modern computers with a relaxing and jolly learning experience. + +## Course Resources + +- Course Website:[Nand2Tetris I](https://www.coursera.org/learn/build-a-computer/home/week/1), [Nand2Tetris II](https://www.coursera.org/learn/nand2tetris2/home/welcome) +- Recordings:Refer to course website +- Textbook:[计算机系统要素:从零开始构建现代计算机(CN-zh version)](book) +- Assignments:10 projects to construct a computer, refer to course website for more details + +[book]: https://github.com/PKUFlyingPig/NandToTetris/blob/master/%5B%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E8%A6%81%E7%B4%A0%EF%BC%9A%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%8E%B0%E4%BB%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%5D.(%E5%B0%BC%E8%90%A8).%E5%91%A8%E7%BB%B4.%E6%89%AB%E6%8F%8F%E7%89%88.pdf + +## Personal Resources + +All the resources and assignments used by @PKUFlyingPig are maintained in [PKUFlyingPig/NandToTetris - GitHub](https://github.com/PKUFlyingPig/NandToTetris).