CSSE232 - Computer Architecture I

Rose-Hulman Institute of Technology

Computer Science and Software Engineering Department

Fall 2024-2025

Course description

Computer instruction set architecture and implementation. Specific topics include historical perspectives, performance evaluation, computer organization, instruction formats, addressing modes, computer arithmetic, single cycle and multicycle data paths, and processor control. Assembly language programming is used as a means of exploring instruction set architectures. The final project involves the complete design and implementation of a miniscule instruction set processor.

Course prerequisites

CSSE 120 and ECE 233

Technical prerequisites

We assume that students in this course are familiar with a number of topics including parameterized procedures, combinational and sequential digital logic circuits, 2's complement representation of signed integers, and hexadecimal representation. The first homework assignment is a review, which will help students assess their own skills with respect to these prerequisite topics.

Social prerequisites

We expect students in this course to:


See the main course page for schedule details.


Section 1 : MTRF 10:00a in O257
Section 2 : MTRF 11:00a in O257
Section 3 : MT 1:00p, R 12:00-1:50p in O257
Section 4 : MTRF 3:00p in O257


Mohammad Noureddine
Moench F214

Sid Stamm - check my schedule
Moench D207

Robert Williamson - Robert's schedule
Moench F205

Course objectives

This is what you will learn through this course.

  1. Apply the principle of abstraction in analysis and design problems.
  2. Given the syntax and semantics for an assembly language, design, implement, test, and debug simple programs in that language that involve arithmetic operations, input and output, various control structures (including selection, iteration, and recursive procedures), and interrupts.
  3. Design an instruction set architecture that is appropriate for a given application, taking into consideration key computer organization design principles.
  4. Design a hardware implementation of an instruction set architecture, and use modern computer aided design tools to model, simulate, test, and debug that implementation.
  5. Analyze the performance of an instruction set architecture and implementation in terms of metrics such as CPU execution time, instruction count, cycles per instruction (CPI), clock frequency, throughput, and response time.

Required resources

Book: Computer Organization and Design RISC-V Edition, 2nd edition
D. A. Patterson & J. L. Hennessy
Morgan Kaufmann, 2021 ISBN 978-0-12-820331-6


It is to your benefit to do the reading assignments before they are covered in class so we can devote class time to discussing difficult ideas and algorithms. You are responsible for all the material in the assigned sections of the book, whether explicitly discussed in class or not.

Homework Assignments

There will be several written homework assignments. Your homework should be presented using good style. Your name and mailbox number should appear at the top of each page. Be sure to state any assumptions that you make to solve the problem. Above all it must be legible-if the graders can't read it, you won't earn credit.


Daily worksheets will be given out to help you focus on the material we cover. Worksheets will be distributed at the beginning of class and will be picked up at the end of the lecture.

Practical Assignments

There are several practicals listed on the on the schedule. Some use the RARS RISC-V Simulator. Others focus on the processor project and use the Quartus and ModelSim tools. Practical assignments are available on the course web site. Completed practicals are submitted via gradescope and git.

To pass the course, you must have a passing average on at least one of the single cycle or pipelined processor assignment series.


There will be five quizzes throughout the quarter, where you have the opportunity to demonstrate your own mastery of the material. You must make a good-faith attempt on all quizzes and have a passing average (D or higher) on the quizzes to pass the course.


Quizzes 40%
Practical Assignments 40%
Homework 15%
Worksheets 5%

Student Engagement Policy

The cumulative nature, complexity, and fast pace of the course make engagement in course material a necessity. There are also important benefits to be gained from entering into classroom discussion, learning to express one’s own ideas, and learning from the ideas of others. We expect regular engagement in course content. This includes completing the following on time: daily quizzes, video lessons, attending virtual classes, and participating during in-class labs, activities, and discussions.

We will permit make-up work to be done when a student has legitimate conflicting obligations, such as illness, quarantine, or emergency. These conflicts do not excuse the student from course responsibilities. The student is responsible for informing the instructor of any legitimate issues and making arrangements for make-up work, if permitted, as soon as possible. Whenever possible, the student must discuss unavoidable absences with instructors in advance. A lack of engagement may result in the student receiving a failing grade for the course.


Collaboration is encouraged on homework, quizzes, and laboratories. It is prohibited on exams. When you collaborate, you must properly credit your collaborators and clearly indicate the extent of the collaboration. In all cases, each individual is responsible for understanding and writing out the entire solution. For example, on homework, this means that once a group solution has been achieved, each collaborator must rework the problem and write up the solution independently. Copying is not collaboration.

Any kind of plagiarism or cheating will result in a severe penalty in the course and Student Affairs will be notified. See this page for details.

Most importantly, any actions that reduce your ability or your opportunity to learn can be considered academic misconduct. Make sure you learn!


Rose provides a number of resources to help you:

Concerns or Feedback

If you have any concerns about any course matters, you should tell someone. You can email your instructor, speak to your instructor, or leave anonymous feedback in Moodle. You can also contact the department head, Student Affairs, or another Rose employee you feel comfortable with.

While you are more than welcome to consult any member of our department if you have concerns, we realize it's helpful to have a few names to start with. If you have a concern and are not sure where to go, the following CSSE faculty have volunteered to be help out with any concerns you may have: Amanda Stouder (F222) and Kim Tracy (D216).