ENGR-E111 Coursework


Other projects


ENGR-E111, or Engineering Computer Architectures, primarily focused on understanding the basics of computing hardware. We learned how logic gates are created and built a Hack architecture processor from the ground up, followed by a Hack assembler in Python.

The class concluded with a VM bytecode translator project written in Python, which translates Hack VM bytecode into Hack assembly, which I worked with fellow classmate Pradyot Bathuri to complete.

The assembler and bytecode translator were particularly challenging, but both projects turned out great. Learning about Hack architecture was a great stepping stone to transition to something with real-world applications like RISCV assembly.

The hack assembler can be found here.

The VM bytecode translator can be found here.