Skip to content

abder/hack-jack

Repository files navigation

Hack-Jack, a Complete Computing System from the First Principals

Hack-Jack is a serie of 11 projects that implements a computing system from the basic logic chips all the way up to building a compiler for a high-level language called jack and an operating system called jackOS, the design of the various layers of abstractions have been provided by Shimon Schocken and Noam Nisan on their famous courses, Build a Modern Computer from First Principles: From Nand to Tetris part-1 and part 2 presented in coursera.

As a self-taught developer and in the aim of developing a solid understanding of coumputer science fundamentals, I found this course very usefull and rewarding as it clarified many confusions I had about computers and software in a very elagant and concise way.

The projects are composed into 2 parts, Hardware (1-5), Software Hierarchy (6-11), in the hardware part w've used a basic Hardware description language designed by the instructors, and for the software I used python3 for all the proejcts that requires a third party language.

drawing

Hardware

1- Basic Logic Gates
2- The ALU chip
3- Memory Chip
4- Machine Language
5- Computer Architecture

Software Hierarchy

6- Virtual Machine - Stack Arithmetic
7- Virtual Machine - Program Control
8- High-Level Language
9- Compiler - Syntax Analyzer
10- Compiler - Code Generator
11- Operating System

I have provided a README file that explains each project separately, found on each project folder.

For more information about the projects and the course you can check the offical website: nand2tetris or the book

Certafications

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published