Computer Architecture

The overall goal of this course is to understand the logical structure of a modern computer, from its basic building blocks to its more complex components. This knowledge is intended to provide the basis for system design and performance analysis, both for hardware and software systems. The concepts learned in this course are also foundational elements for the design of compilers and operating systems.


Computer systems are a combination of their hardware and software. Whether you intend to design the next breed of microprocessor, the next Java compiler, or the greatest C++ application, a computer scientist is best served by understanding what is going on under the hood of the computer. Why? Simply put, knowing how a program is translated into the electronics allows it to be more efficiently written. This course will address issues such as digital logic, machine representation of data, basic CPU and instruction-set architecture, memory organization, I/O interfaces, and architecture alternatives.

Teaching Mode

This course consists of a theory and a laboratory component. Both components involve classroom sessions and significant amounts of homework. Students are expected to read the assigned readings before class. During theory sessions we discuss remaining questions and problems. The homework assignments of the laboratory component complement the theory and allow students to practice and deepen their skills by solving well-focused problems. During the weekly laboratory sessions we introduce and discuss upcoming homework assignments and we review past assignments to clarify possible misunderstandings. Students can benefit most from this course if they thoroughly prepare for and actively participate in each session.


Andrew S. Tanenbaum, Structured Computer Organization, 6th Edition (required), Prentice Hall, 2012, ISBN: 978-0132916523.


ClassSemesterInstructorTeaching Assistant(s)
Computer Architecture 2019Fall
Computer Architecture 2018Fall
Computer Architecture 2017Fall
Pietro Bressana ▫ Enrique Fynn
Computer Architecture 2016Fall
Computer Architecture 2015Fall
Computer Architecture 2014Fall
Computer Architecture 2013Fall
Leandro Pacheco ▫ Michele Papalini
Computer Architecture 2012Fall
Valentina Poletti ▫ Grigory Fedyukovich
Computer Architecture 2011Fall
Computer Architecture 2010Fall
Computer Architecture 2009Fall
Jochen Wuttke
Computer Architecture 2008Fall

USI Search Directory: