I have completed the course of nand2tetris yet. The last assignment was about the development of an assembler. It is a good example of understanding the computer science base.
I got this course to understand the principle of computer architecture, and I really satisfied with the content. There are many excellent assignments. The last one was about the development of an assembler.
The source code of my assembler can be found at GitHub. It works well, all requirements are met. However, it can get better by adjusting functions and the algorithm. I could not make it better more because I got the concept and thought enough for me.