Software written in this course
I developed 2 compilers while taking this course. They require Python3.9 and can be installed with the commands below.
Compatible with Python3.9
Jack Compiler
a compiler for the Jack programming language to Jack VM code (similar to Java bytecode).
Source Code
pip install "git+https://github.com/Meisterlala/Online-Computer-Science-degree/#egg=Jack-Compiler&subdirectory=From Nand to Tetris/projects/11/JackCompiler"
JackC (file|directory)
Jack VM Translator
a compiler used to translate Jack VM code to Hack Assembly.
Source Code
pip install "git+https://github.com/Meisterlala/Online-Computer-Science-degree/#egg=VMTranslator&subdirectory=From Nand to Tetris/projects/08/VMTranslator"
VMTranslator (file|directory)
Build a Modern Computer from First Principles: From Nand to Tetris
by Hebrew University of Jerusalem
Project-Centered course
- Project: Building elementary logic gates like And, Or, Not, Multiplexor, and more
- Project: Building a family of adder chips, culminating in the construction of an Arithmetic Logic Unit (ALU)
- Project: Building registers and memory units, culminating in the construction of a Random Access Memory (RAM)
- Project: Learning a machine language and using it to write some illustrative low-level programs
- Project: Using the chipset built in projects 1-3 to build a Central Processing Unit (CPU) and a hardware platform capable of executing programs written in the machine language introduced in project 4
- Project: Developing an assembler, i.e. a capability to translate programs written in symbolic machine language into binary, executable code.
Following the online course:
https://www.coursera.org/learn/build-a-computer
Build a Modern Computer from First Principles: From Nand to Tetris 2
by Hebrew University of Jerusalem
Project-Centered course
- Project: Programming a basic IL Language compiler
- Project: Adding more advanced functionality to the compiler
- Project: Building a Syntax Analyzer for the High-Level Language Jack
- Project: Completing the Jack compiler
- Project: Creating an Operatingsystem
- Project: Constructing games and running them using everything build in this Course
Following the online course:
https://www.coursera.org/learn/nand2tetris2