Skip to Main Content
This paper argues that computer architecture is still a vital component of computer science, and that its role in the curriculum should be reevaluated. At Teesside we redesigned our existing second-level course in computer architecture to make it more relevant to today's world. Students taking this course have already studied basic computer architecture, number representation and digital logic in a freshman course. We decided to teach what might be called "Great Ideas in Computer Architecture". Instead of covering traditional topics such as the design of computer hardware and interfaces, we concentrated on topics of relevance to computer science globally. The new course consists of several strands that are described; each is designed to be intrinsically interesting and to cover a major concept. These are cache memory, parameter passing and local variables, complex instructions, and buses and arbitration. These topics are taught in the second year of the degree course after students have taken an introduction to computer architecture in their first year. The new course is not intended as a conventional intermediate-level computer design course. Few computer science students will ever design either chips or microprocessor-based systems. However, the students learn a lot of information that relates to other areas of computer science and to the type of systems they will later be specifying. The examination results for this new course were better than the previous year and the level of students' satisfaction improved.