https://github.com/idriz4work/nand2tetris
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
https://github.com/idriz4work/nand2tetris
Last synced: over 1 year ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/idriz4work/nand2tetris
- Owner: Idriz4work
- Created: 2024-08-06T17:03:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-06T07:18:26.000Z (almost 2 years ago)
- Last Synced: 2025-02-17T20:43:54.504Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 423 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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