Principles of Computer Organization and
Architecture answers the question "How do computers work ?" It examines the
underlying components and the basic organizing principles in the construction of
computer systems. By studying the fundamental organizing principles of computer
systems, we are better able to understand, design, and implement complex
systems.
This course also answers the question "How
do I design a computer?" It would devote considerable attention to identifying
which functionality should be included in a system, to evaluating a number of
options for achieving the design goals, and to explaining techniques for
implementing them.
Upon successful completion of this course,
the computer will no longer seem a "black box" to you. The magical incantations
that we call programs will no longer simply "work"; they will have a "meaning"
that is grounded in the layers of physical and virtual machinery upon which they
run. More importantly, you will have encountered a number of diverse paradigms
for solving problems using computer systems. This course should give you a
robust framework upon which to hang new knowledge within the discipline.
This course is also about learning the
skills needed to acquire this kind of knowledge. It is about careful reading of
a scientific text. It is about using exercise problems to probe and develop your
understanding of the material. It is about bringing material up to date and
finding the leading edge of a field within the discipline. And, it is about
interacting closely with others in your discipline to learn, investigate, and
understand more thoroughly than might be possible through individual, lone
scholarship.