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 2022 Fall
Computer Architecture 2019 Fall
Computer Architecture 2018 Fall
Computer Architecture 2017 Fall
Enrique Fynn | Pietro Bressana
Computer Architecture 2016 Fall
Computer Architecture 2015 Fall
Giovanni Ansaloni
Computer Architecture 2014 Fall
Computer Architecture 2013 Fall
Michele Papalini | Leandro Pacheco
Computer Architecture 2012 Fall
Grigory Fedyukovich | Valentina Poletti
Computer Architecture 2011 Fall
Computer Architecture 2010 Fall
Computer Architecture 2009 Fall
Jochen Wuttke
Computer Architecture 2008 Fall

USI Search Directory:

Other Courses

Recent News

Computing Group

Profs. S. Santini and M. Langheinrich
Università della Svizzera italiana (USI)
Faculty of Informatics
Via G. Buffi 13
6900 Lugano, Switzerland