Nand2tetris Implementation in .NET
The wonderful nand2tetris project 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:
The projects were done in .NET C# with OOP practices in mind.