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.
The course is divided into two main parts:
- Hardware: Building the computer's architecture
- Software: Developing the software hierarchy
By completing this course, I have gained:
- Comprehensive Understanding: A deep insight into computer architecture and how different components interact.
- Practical Experience: Hands-on practice in both hardware design and software development.
- Abstraction Mastery: Experience working with various levels of abstraction in computing.
- Enhanced Problem-Solving: Improved ability to approach complex systems and break them down into manageable components.
- Solid Foundation: A strong base for exploring advanced topics in computer science.
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:
- Project 1: Boolean Logic
- Project 2: Boolean Arithmetic
- Project 3: Memory
- Project 4: Machine Language
- Project 5: Computer Architecture
- Project 6: Assembler
- Project 7: VM I: Stack Arithmetic
- Project 8: VM II: Program Control
- Project 9: High-Level Language
- Project 10: Compiler I: Syntax Analysis
- Project 11: Compiler II: Code Generation
- Project 12: Operating System
- Hardware Description Language (HDL)
- Assembly Language
- Jack (high-level programming language)
- HACK Assembly
- Python
- C
-Use the online website for Nand2Tetris to test out your projects.
This project was completed as part of the Nand2Tetris course, created by Noam Nisan and Shimon Schocken.
Atilla Idriz Email me here