# Nand2tetris Implementation in .NET
The wonderful nand2tetris project (opens new window) is the best free online course I have ever found. It teaches you about the fundamentals of modern computers. The topics include:
- logic gates
- CPU
- assembler
- VM-based languages
- compilators
The course is practical, the students are encouraged to build the system as they go. The work includes the creation of an assembler, a VM translator, and a compiler (for the Hack and Jack languages).
While I was going throught the course myself, I had implemented the following:
- Hack language assembler (opens new window)
- Hack VM Translator (opens new window)
- Jack Compiler (opens new window)
- Jack Programs Examples (opens new window)
The projects were done in .NET C# with OOP practices in mind.