Full course description
Importance of Computer Organization and Assembly Language:
Computer scientists should understand Program Execution, Assembly Language, Procedures in Assembly, CPU Design Choices, Data Representation for understanding how each instruction is executed at the micro level. Learning assembly gives computer scientist an intuitive sense of how high-level code will be transformed.
By the end of this short course, learners at a broad level will be able to:
- Explain how programs written in high-level languages are executed by a computer system.
- Explain what hardware factors impact program performance and how to write programs for performance
- Explain data representation, instruction sets, and addressing modes.
- Write assembly language programs employing flow control constructs and procedures.
- Explain techniques used by computer hardware designers to improve performance.
- Explain how a data path can be implemented as a single-cycle or pipelined design.
- Explain how the memory hierarchy impacts performance.
- Explain the reasons for the ongoing transition to multiprocessor architectures.
Who this course is designed for:
Students who are either admitted with prerequisites to graduate programs in Computer Science in the School of Computing, Informatics, and Decision Systems Engineering (CIDSE) at Arizona State University or students who are interested in becoming eligible to apply to one of those programs. Students may also complete this course if they have general interest in the topic area or are looking for a refresher on computer organization and assembly language programming.
The course syllabus is available here.
What you'll receive:
You will receive a certificate of completion with your grade that you can attach in your graduate application for any graduate program within CIDSE. You must receive an 80% or higher in order to receive a certificate.