In this course, students acquire basic knowledge of computer systems from hardware design and software representation perspectives. This course set a framework, which guides students, to understand how a computer software integrates with the computer architecture to manage several sophisticated systems in order to perform massive tasks in a nano time. In particlular, after completing this course, students wil be able to understand the computer architecture and its different modules and how these components contribute to boosting the performance of a deployed software systems. Additionally, the course aims to provide studnets a solid background on how complex systems could be computationally represented to handle intricate function by studying problem solving principles using well-known programming language, such as C++ , Python, and/or JAVA.

