Computer Organization and Architecture (Spring 2024)

Instructor: Dr. Sudeep Pasricha (

Lectures: 11 – 12:15 PM (Behavioral Sciences Bldg 107)

Course Description: The objective of the course is to provide students with a solid foundation in computer system design, spanning the spectrum of smart mobile devices and high performance supercomputing. Modern computer technology requires professionals to understand both hardware and software concepts. Accordingly, this course focuses on the interaction between hardware and software at a variety of levels to promote a deep understanding of the fundamentals of computing and foundations of parallelism. Topics that will be covered include instruction set architectures, computer arithmetic, RISC CPU and pipelining, memory hierarchy, networks on chip, parallel programming models, multicores and multiprocessors, graphics and computing GPUs, deep learning accelerator architectures, and storage and I/O technologies in computing.

Prerequisites: ECE251 or equivalent with a C+ or better (or written consent); C programming

Textbook: Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) 5th Edition

Syllabus (tentative):

Content: Slides, lecture recordings, readings, and assignments can be found at the course page on CSU Canvas