Skip to content

Nand2Tetris (The Elements of Computing Systems) Nand2Tetris is a hands-on course that guides you through building a modern computer system from the ground up. Starting with basic logic gates, you progressively construct a functional computer, including hardware and software components. Benefits: Comprehensive understanding of computer architecture

Notifications You must be signed in to change notification settings

Idriz4work/NAND2Tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nand2Tetris Project

About Nand2Tetris

Nand2Tetris, also known as "The Elements of Computing Systems," is a comprehensive course that guides students through the process of building a modern computer system from the ground up. Starting with basic logic gates, participants progressively construct a functional computer, including both hardware and software components.

Course Overview

The course is divided into two main parts:

  1. Hardware: Building the computer's architecture
  2. Software: Developing the software hierarchy

Key Benefits

By completing this course, I have gained:

  1. Comprehensive Understanding: A deep insight into computer architecture and how different components interact.
  2. Practical Experience: Hands-on practice in both hardware design and software development.
  3. Abstraction Mastery: Experience working with various levels of abstraction in computing.
  4. Enhanced Problem-Solving: Improved ability to approach complex systems and break them down into manageable components.
  5. Solid Foundation: A strong base for exploring advanced topics in computer science.

Project Structure

The complete Nand to Tetris experience spans 12 projects. Each project consists of project guidelines and lecture slides. Some projects link to chapters from the book's 1st edition:

  1. Project 1: Boolean Logic
  2. Project 2: Boolean Arithmetic
  3. Project 3: Memory
  4. Project 4: Machine Language
  5. Project 5: Computer Architecture
  6. Project 6: Assembler
  7. Project 7: VM I: Stack Arithmetic
  8. Project 8: VM II: Program Control
  9. Project 9: High-Level Language
  10. Project 10: Compiler I: Syntax Analysis
  11. Project 11: Compiler II: Code Generation
  12. Project 12: Operating System

Technologies Used

  • Hardware Description Language (HDL)
  • Assembly Language
  • Jack (high-level programming language)
  • HACK Assembly
  • Python
  • C

Getting Started

-Use the online website for Nand2Tetris to test out your projects.

Acknowledgements

This project was completed as part of the Nand2Tetris course, created by Noam Nisan and Shimon Schocken.

Contact

Atilla Idriz Email me here

About

Nand2Tetris (The Elements of Computing Systems) Nand2Tetris is a hands-on course that guides you through building a modern computer system from the ground up. Starting with basic logic gates, you progressively construct a functional computer, including hardware and software components. Benefits: Comprehensive understanding of computer architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published