CS4200/5200: Computer Architecture, Spring 2012

Time & Loc.: MW 4:30pm -- 5:45pm, ENG 109
Instructor: Dr. Xiaobo (Joe) Zhou
Office: 199 Engineering
Office Hours: MW 3:00 pm - 4:00pm
Phone: 719-255-3493
Email: zbo@cs.uccs.edu
Syllabus: PDF
Lecture Notes: PDF

This web page was translated to Serbo-Croatian language by Anja Skrba from Webhostinggeeks.com.

This web page was translated to Spanish language by Voonky.com.

This web page was translated to Punjabi language by Bydiscountcodes Team.

This web page was translated to Vietnamese language by Laura Himmer from CouponoBox.

Course Description

Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. In this course, you will learn how to completely design a correct single processor computer, including processor datapath, processor control, pipelining optimization, instruction-level parallelism and multi-core, memory/cache systems, and I/O. You are going to see that no magic is required to design a computer. You will learn how to quantitatively measure and evaluate the performance of designs.

This course serves you two ways. First, for those who will continue in computer architecture, it lays foundation of detailed experience necessary to take more advanced courses. Second, for those students not continuing in computer architecture, it gives an in-depth understanding of the inner-workings of modern computers, their evolution, and trade-offs present at the hardware/software boundary. It also solidifies an intuition about why hardware is as it is.


Reading and Project Assignments

Required Backgrounds


Course Objectives and Tentative Schedules

Exam Schedules

Grading Scale

 Percentage  Grade
 [90, 100]  A
 [87, 90)  A-
 [84, 87)  B+
 [80, 84)  B
 [75, 80)  C+
 [70, 75)  C
 [65, 70)  D+
 [60, 64)  D
 Below 60  F

Borderline cases will be resolved by student participation in class providing intelligent questions, informative comments, and constructive criticisms.

Grading Percentage

 Undergraduate (CS4200)  Graduate (CS5200)
 In-class disc. & attendance: 4%  In-class disc. & attendance: 4%
 Homework: 20%  Homework: 20%
 Project and Readings: 20%  Project and Readings: 20%
 Midterm: 20%  Midterm: 20%
 Final Exam: 36%  Final Exam: 36%

All exams will be graded by the instrutor himself.

The attendance policy is as follows: There will be some attendance sheet circulated at random times in the semester. Each student is allowed one absence during the semester for whatever reason. For each extra absence, the attendance percentage is reduced proportionally. Exceptions to this policy will be made only in extreme cases, due to circumstances beyond your control and which were unforeseen at the beginning of the semester (such as illness). You need to provide convincing evidence, such as letters from your doctors in case of illness. If you are aware of classes you will need to miss because of business/field trips, or athletic events, please discuss to the instructor in the beginning of the semester. If you arrive too late or leave early, you may be marked absent for that class.

There will be one three-week project using C/C++. For CS5200 attendants, you must do the project individually. CS4200 attendants should do the project in teams; the teammates might be designated by the instructor (based on random selection) before the project is released. The project is to explore some small extension to a concept we study in class, or to validate the experimental data in some paper. More details about the project will be available as the semester progresses.

Course Policy

Links to Computer Architectures and Information Assurance related websites