CCOM 4086 - Computer Architecture 1

Draft syllabus


Field Value
Name Humberto Ortiz-Zuazaga
Office NCL A-150
Laboratory NCL A-158
Telephone 787-764-0000 x7430
Web page
Office hours Mon 2:30-3:30, Tue 11:00-12:00
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.


  1. CCOM 3033 - Introduction to problem solving with programming

Students starting in 2022 or later:

  1. CCOM 3034 - Data Structures


  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 Mondays and Wednesdays from 1:00 to 2:20 PM in CNL-A143.

The course will be taught in face to face mode, however given the emergency circumstances related to COVID-19, or other emergency situation that might arise, the course will be switched to distance mode assisted by technology.

Tentative course calendar

Date Topic Chapter Lecture Lab
Jan Intro 1 - 2 Lecture 1 Data lab ?
Assembly 3.1 - 3.5
Control 3.6
Procedures 3.7 CPU Wars
Arrays, Structures and Unions 3.8 - 3.9 Bomb lab
Pointers and GDB 3.10.1 - 3.10.2
Feb Buffer overflow 3.10.3
Defending against buffer overflow 3.10.4
Y86-64 Instruction Set Architecture 4.1.1 - 4.1.2 Buffer lab
Instruction encoding 4.1.3
Logic gates 4.2.1
Combinational Circuits 4.2.2
Word level circuits 4.2.3 Architecture lab A
Memory and clocking 4.2.5
Exam 1
Mar Stages of processing 4.3.1
A sequential implementation 4.3.2 Architecture lab B
Timing 4.3.3
Implementation 4.3.4
Pipelining 4.4.1 - 4.4.2
Apr Implementing a pipeline 4.5.1 - 4.5.3 Architecture lab C
Branch prediction 4.5.4
Hazards 4.5.5
Stages and Control 4.5.7 - 4.5.8
Performance 4.5.9
May Memory 6.1 - 6.2
Caches 6.3 - 6.4
Performance 6.6
Exam 2

Alternative Teaching Methods

Certification No. 112 (2014-2015) of the Governing Board defines a classroom course as a course in which 75% or more of the hours of instruction require the physical presence of the students and the teacher in the classroom. This means that 25% of a classroom course could be offered without requiring the physical presence of the students and the teacher in the classroom. If necessary, this course will be able to complete up to 25% of the contact hours (11.25 hours) on a non-face-to-face basis by alternative methods such as: videoconferences, instructional modules, discussion forums and others. If so, the calendar/agenda will be modified to include the topics that will be covered by alternative methods.

Instructional resources

The course will be hosted on the UPRRP Moodle. Register and stay tuned for our polls and forum postings.


Computer Systems: A Programmer's Perspective, 3rd edition Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University


We will use the Y86-64 circuit and processor simulators distributed by the textbook authors.


Students work will be evaluated on a 100% basis with the standard curve.

  • Participation in course forums (online, classroom), 5% final grade
  • Homework and quizzes, 45% final grade
  • Two partial exams, 50% final grade


The University of Puerto Rico prohibits discrimination based on sex, sexual orientation, and gender identity in any of its forms, including that of sexual harassment. According to the Institutional Policy Against Sexual Harassment at the University of Puerto Rico, Certification Num. 130, 2014-2015 from the Board of Governors, any student subjected to acts constituting sexual harassment, must tum to the Office of the Student Ombudsperson, the Office of the Dean of Students, and/or the Coordinator of the Office of Compliance with Title IX for an orientation and/or a formal complaint.


The University of Puerto Rico complies with all state and federal laws and regulations related to discrimination, including “The American Disabilities Act” (ADA law) and Law #51 from the Puerto Rico Commonwealth (Estado Libre Asociado de Puerto Rico). Every student has the right to request and receive reasonable accommodation and Vocational Rehabilitation Services (VRS). Those students with special needs that require some type of particular assistance or accommodation shall explicitly communicate it directly to the professor. Students who are receiving VRS services shall communicate it to the professor at the beginning of the semester so that appropriate planning and the necessary equipment may be requested according to the Disabilities Persons Affairs Office (Oficina de Servicios a Estudiantes con Impedimentos –OSEI) from the Students’ Deanship office. Any other student requiring assistance or special accommodation shall also communicate directly with the professor. Reasonable accommodations requests or services DO NOT exempt the student from complying and fulfilling academic and course related requirements and responsibilities.


The University of Puerto Rico promotes the highest standards of academic and scientific integrity. Article 6.2 of the UPR Students General Bylaws (Board of Trustees Certification 13, 2009-2010) states that academic dishonesty includes, but is not limited to: fraudulent actions; obtaining grades or academic degrees by false or fraudulent simulations; copying the whole or part of the academic work of another person; plagiarizing totally or partially the work of another person; copying all or part of another person answers to the questions of an oral or written exam by taking or getting someone else to take the exam on his/her behalf; as well as enabling and facilitating another person to perform the aforementioned behavior. Any of these behaviors will be subject to disciplinary action in accordance with the disciplinary procedure laid down in the UPR Students General Bylaws.

To ensure user data integrity and security, hybrid and distance education courses are offered through the institutional learning management system, which employs secure connection and authentication protocols. The system authenticates the users’ identity with the username and password of their institutional accounts. Users are responsible for keeping their password secure and not sharing with others.