University of Information Technology

Computer Architecture

Course Description

The course is aimed to provide students with fundamental knowledge of modern computer architectures in terms of instruction set architecture, organization and hardware, to introduce the fundamentals of computer design and continues with an examination of the components of processor, memory, and input/output, to discuss basic concepts of embedded system design in the level of instruction set architecture.

Intended Learning Outcomes

Upon the successful completion of this course, students should be able to:

  • to have the basic skills for computer architecture design.
  • to evaluate quantitatively computer performance by using benchmark suites and skills.
  • to improve computer performance by using hardware and software techniques.
  • to design and analyze the main functional units of a computer, a sample instruction set for a theoretical machine and compare between the different computer systems structures according to a certain criterion.

Text and References Books


  1. Computer Architecture and Organization (3rd Edition), John P. Hayes, McGraw-Hill International Editions.


  1. Computer Organization and Architecture: Designing for Performance (9th Edition), William Stallings.
  2. Computer Organization and Design (3rd Edition), David A. Patterson, John L. Hennessy.
  3. FPGA Data Book and Design Guide, Actel Corp. Sunnyvale, CA, 1994.
  4. Structured Logic Design with VHDL, Armstrong, J. R. and F. G. Gray, Englewood Cliffs, NJ: Prentice-Hall, 1993.

Assessment system

Evaluation Marks Percentage
Class Participation 10 Marks 10%
Tutorial 10 Marks 10%
Assignment/Discussion 10 Marks 10%
Final Examination 70 Marks 70%