Skip to content

Nand2Tetris Course - Building a computer from the ground up

License

Notifications You must be signed in to change notification settings

lambdart/nand2tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

Nand2Tetris is a course that aims to build a general-purpose computer system from the ground up using only as building block the nand logic gate.

The list of components to be constructed:

  1. Logic gates
  2. Memories
  3. Arithmetic-Logic Unit
  4. Central Processing Unit
  5. Computer Architecture
  6. Assembler
  7. Virtual Machine
  8. High-Level Language
  9. Compiler
  10. Operating System
  11. Tetris Game

Goal

The tetris game is expected to run under the final (top) constructed layer the Operating System, and acquire more knowledge about the whole tech stack of a modern/general-purpose computer.

From NAND to Tetris!

Book

The Elements of Computing Systems: Building a Modern Computer from First Principles [2]

Course

“Nand to Tetris courses are typically offered as a 1-semester course, consisting of ~13 weekly 3-hour meetings. The course and the book are completely self-contained, requiring only programming (in any language) as a pre-requisite. All the knowledge necessary for building the computer is embedded in the supplied lectures, projects, and book chapters. The result is a synthesis course that can be taken at any stage in an undergraduate or graduate CS program following programming.”

Motivation

“Because many CS students don’t understand how computers work; because fewer CS programs requires a compilation course; because many computer architecture courses are too detailed; because nothing beats the thrill of creating something from almost nothing; because Nand to Tetris engages students in implementing some of the coolest algorithms, data structures and techniques in applied computer science, and because the typical student feedback in Nand to Tetris courses is “the best course I ever took.”

Projects

  1. Boolean Logic
  2. Boolean Arithmetic
  3. Sequential Logic
  4. Machine Language
  5. Computer Architecture

Dependencies

  • Nand2Tetris simulators[4].

Future

  • Project 6: Assembler

References

  1. https://www.nand2tetris.org/
  2. https://www.nand2tetris.org/book
  3. https://www.nand2tetris.org/course
  4. https://www.nand2tetris.org/software

License

MIT

About

Nand2Tetris Course - Building a computer from the ground up

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published