Computer Organization (Assembly Language)

Description of Course:

Computer Organization provided an in-depth exploration of software development from a hardware perspective, focusing on the critical relationship between hardware and software. Unlike traditional courses that center on logic gates and basic computer construction, this course emphasized understanding how software interacts with hardware through assembly language. The primary focus was on ARM V8 64-bit ISA, offering a hands-on approach to learning low-level programming concepts.

Most Impactful Project:

One of the most impactful projects involved writing assembly code to perform complex operations at the hardware level. This project required implementing arithmetic and logical functions using ARM instructions, optimizing performance, and understanding how memory is accessed and manipulated in low-level programming. Debugging and analyzing the performance of the assembly code provided valuable insights into how hardware processes instructions, making it a challenging but highly rewarding experience.

What I Learned?

Throughout the course, I developed a strong proficiency in ARM V8 64-bit ISA and gained a comprehensive understanding of computer organization. I learned how to write efficient assembly code, manage memory, and optimize software performance at the hardware level. This experience deepened my appreciation for the inner workings of computers and how hardware constraints can influence software development. Overall, this course gave me a solid foundation in low-level programming and significantly enhanced my problem-solving skills and understanding of computer architecture.