Advanced Topics in Computer Science
Intellectual Engagement
In Advanced Topics in Computer Science (ATCS), we followed the Nand2Tetris curriculum over the course of the year and built a computer from the ground up!
We started with the logic gates in the fall and spent the spring building a compiler for the programming language Jack (similar to Java but easier to compile). There were three labs: parsing the jack code, compiling it into VM code, and then writing the operating system that the compiled code needed to run. These labs took me significantly longer than the ones earlier in the year.
I had a lot of fun taking the class throughout the year, which is why I decided to continue it! Our class was a lot smaller this spring (just three of us), but I still really enjoyed it.
All the code I wrote throughout the year for the class is open source on GitHub! You can find all my work at github.com/eeriergosling/nand2tetris and the compiler specifically at github.com/eeriergosling/nand2tetris/tree/main/Compiler.


