Skip to content

Avishek8136/Nand2tetris-Coursera-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nand2tetris-Coursera-Projects

Elements of Computing (EOC) Nand2tetris projects

Nand2Tetris Projects

This repository contains my solutions and files for the Nand2Tetris course. Nand2Tetris is a unique project-based course that takes you through the process of building a computer system, from designing basic logic gates (NAND gates) to creating a complete software stack, including an operating system and programming language.

Course Overview

The Nand2Tetris course is divided into several projects, each building upon the previous one. Here's a brief overview of the projects included in this repository:

  1. Project 1: Boolean Logic - Implement basic logic gates using NAND gates.
  2. Project 2: Boolean Arithmetic - Build half-adders, full-adders, and other arithmetic logic units.
  3. Project 3: Sequential Logic - Construct flip-flops and registers, enabling the creation of sequential circuits.
  4. Project 4: Machine Language - Develop an assembly language and an assembler for a simple computer.
  5. Project 5: Computer Architecture - Build a computer's CPU, memory, and I/O modules.
  6. Project 6: Assembler - Create an assembler that translates symbolic machine code into binary code.
  7. Project 7: Virtual Machine I - Develop a virtual machine (VM) and a stack-based programming language.
  8. Project 8: Virtual Machine II - Enhance the VM to support more advanced features.
  9. Project 9: High-Level Language - Design a high-level, object-oriented programming language (Jack).
  10. Project 10: Compiler I - Create a Jack-to-VM translator (the first half of the compiler).
  11. Project 11: Compiler II - Complete the compiler by implementing the code generation phase.
  12. Project 12: Operating System - Build a simple operating system for the Hack platform.
  13. Project 13: Final Project - Combine everything learned to create your own software project.

Getting Started

  1. Clone this repository to your local machine:

    git clone https://github.com/Avishek8136/nand2tetris-projects.git

About

Elements of Computing (EOC) Nand2tetris projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published