Computer Architecture
(View Complete Item Description)The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. The student will study the history of modern computing technology before learning about modern computer architecture, then the recent switch from sequential processing to parallel processing. Upon completion of this course, students will be able to: identify important advances that have taken place in the history of modern computing and discuss some of the latest trends in computing industry; explain how programs written in high-level programming language, such as C or Java, can be translated into the language of the hardware; describe the interface between hardware and software and explain how software instructs hardware to accomplish desired functions; demonstrate an understanding of the process of carrying out sequential logic design; demonstrate an understanding of computer arithmetic hardware blocks and floating point representation; explain how a hardware programming language is executed on hardware and how hardware and software design affect performance; demonstrate an understanding of the factors that determine the performance of a program; demonstrate an understanding of the techniques that designers use to improve the performance of programs running on hardware; demonstrate an understanding of the importance of memory hierarchy in computer design and explain how memory design impacts overall hardware performance; demonstrate an understanding of storage and I/O devices, their performance measurement, and redundant array of inexpensive disks (more commonly referred to by the acronym RAID) technology; list the reasons for and the consequences of the recent switch from sequential processing to parallel processing in hardware manufacture and explain the basics of parallel programming. (Computer Science 301)
Material Type: Full Course