Skip to content

ShayMorad/Nand2Tetris

Repository files navigation

huji-logo

📘 HUJI – Nand to Tetris

This repository contains my personal solutions to the From Nand to Tetris course assignments, part of the Computer Science program at The Hebrew University of Jerusalem.

Spanning across 13 intensive weeks, this course covers the full construction of a working computer system—starting from basic logic gates and ending with a custom high-level programming language and operating system. Along the way, we built essential components like an assembler, virtual machine translator, compiler, and OS libraries.

🔗 View Course Syllabus (Shnaton)


📂 Exercises Overview

Exercise Title Topics
Exercise 01 Boolean Logic Basic logic gates: AND, OR, NOT
Exercise 02 Boolean Arithmetic Arithmetic operations using logic
Exercise 03 Sequential Logic Flip-flops, Registers, Counters
Exercise 04 Machine Language Learning the Hack machine language
Exercise 05 Computer Architecture Building a complete Hack CPU
Exercise 06 Assembler Converting assembly to machine code
Exercise 07 VM Translator I Translating arithmetic commands
Exercise 08 VM Translator II Implementing functions and branching
Exercise 09 High-Level Programming Game development in Jack language
Exercise 10 Compilation I Syntax tree generation in XML
Exercise 11 Compilation II Jack-to-VM compiler
Exercise 12 Operating System Building OS-level libraries

🤝 Contributing

Contributions are encouraged! For any significant changes, it's best to open an issue first and start a discussion.


📄 License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 license.

About

My implementations to the international course "From Nand to Tetris".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors