Skip to Main Content
This work describes part of a novel approach employed at the authors' institution in the last five years, which comprises the teaching of computer organization/ architecture through the effective implementation of processors and computers. The context of the courses is presented first, including a comparison of two hardware courses tracks in computer science and computer engineering curricula. Previous publications have described the structure of courses dealing with the minimal implementation of a working processor. Here, the emphasis is on subsequent courses, which take the minimal implementation and guide the students through the necessary steps to add performance, such as pipelining, and functionality, such as memory management and basic IO subsystems.