Name Humberto Ortiz-Zuazaga
Office NCL A-159
Telephone 787-764-0000 x7430
Web page
Office hours Monday 10:00 - 11:30 AM
  Thursday 3:00 - 4:30 PM
  or by appointment


In this course the student is exposed to critical issues of the architecture of modern computers. The main objective is to provide students the knowledge necessary to understand the logic of behavior of the main components of modern computers. Topics include the logical design, data representation, the different types of memory and its organization, registers, the CPU and its organization, construction and operation of buses, I/O devices and their interfaces. Different levels of abstraction of the computer architecture are studied: a logical level, the architecture of micro-level, level machine language, assembly language and operating system level. The course also examines the main features of CISC and RISC architectures.

Number of hours/credits

3 hours per week, 3 credits

CCOM 3033 - Introduction to problem solving with programming
Course objectives
  1. Understand the instruction set of RISC assembly and a computer are represented as the instructions on the computer.
  2. Describe several types of memory used in a computer (eg, cache, main memory, virtual), their hierarchy, and function as part of the system.
  3. Understanding the communication process with input and output devices and different mechanisms for interfacing with the peripheral units.
  4. Understand the process of translation required for the execution of an instruction-level assembly language.
  5. Understand the main components in a modern computer
  6. Understand the main features of CISC and RISC architectures
  7. Describe the sequence of micro-operations required to complete the execution of an instruction-level machine language
  8. Understand the logic gates that are designed with the CPU: Boolean, multiplexers, decoders, flip / flops, registers
  9. Understand the methods of representation of numbers and how arithmetic is performed on computers
  10. Evaluate the performance of a computer and understand the factors affecting it.
  11. Understand the process of designing a computer from a single level of logic gates based on conditions of operation and instruction set.
  12. Understand some of the techniques used to improve the performance of a computer at the architectural (pipelining, multithreading, superscalar).
  13. Understand the effects of technology and its impact in individuals and society
Course schedule
Class will meet Tuesday and Thursdays, 1:00 - 2:20 PM in UPR-RP, Computer Science Department, room A-143.
The proposed schedule of lectures, subject to change
Lectures Topic Reading Objective
2 Introduction to Computer Architecture Chapter 1: 1.1 - 1.3 5
2 Performance and power Chapter 1: 1.4 - 1.9 10, 13
4 Computer instructions Chapter 2 1, 4, 6, 7
2 Computer arithmetic Chapter 3 9
4 Simple Processor Chapter 4: 4.1 - 4.4 8, 11
2 Pipelining Chapter 4: 4.5 - 4.6 12
4 Memory hierarchy Chapter 5 2
4 Storage and Input/Output Chapter 6 3
4 Parallel computing Chapter 7 12
Instructional strategies

The professor will discuss each topic, students will complete a practical excercise for each topic discussed in class.

Instructional resources

A website with all the course lectures and supplemental materials and references is available on the CCOM Moodle:


“Computer Organization and Design: the hardware software interface, Revised Fourth Edition” by Patterson and Hennesey.

Evaluation strategy
  • Participation in course forums (moodle, classroom), 5% final grade
  • Homework, 25% final grade
  • Two partial exams, 50% final grade
  • Student reports, 20% final grade

Students with disabilities properly registred with the Office of Affairs for Persons with Disabilities (Oficina de Asuntos para la Persona con Impedimento (O.A.P.I.)) should notify the professor at the start of the semester. The professor will make reasonable accomodations to support the student, in consultation with OAPI.