Skip to content

IsaiahPaget/Nand2Tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nand2Tetris

"Welcome to Nand to Tetris part two. Nand to Tetris is the name of a computer science educational adventure, in which we build a complete, modern, general-purpose computer system, hardware and software, from the ground up. Because this is quite a substantial journey of discovery, we decided to split it into two separate and stand-alone courses. In the first course, which in Coursera is simply called Nand to Tetris, we start with the most elementary and sort of primitive logic gate conceivable called Nand, and using a series of 600 construction projects, we build a computer platform which we call Hack. And then in the second course, in Nand to Tetris part two in this course, we start with the Hack platform as a point of departure and then we build on top of it a virtual machine, a compiler, an operating system and all the systems which are necessary so that we'll be able to write high level object-based programs on this barebone hardware. That's what we do in the second part of the Nand to Tetris journey." -Shimon Schocken

Learning Outcomes Part One

In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed.

Logic Gate

Computer Architecture

Assembly Languages

Hardware Description Language (HDL)

Learning Outcomes Part Two

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform. In the process, you will gain a deep, hands-on understanding of numerous topics in applied computer science, e.g. stack processing, parsing, code generation, and classical algorithms and data structures for memory management, vector graphics, input-output handling, and various other topics that lie at the very core of every modern computer system.

Compiler Construction

Operating System

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published