This document provides an introduction to computer organization and architecture. It discusses the functional units of a computer, how programs are translated from high-level languages to machine language, and technology trends like the performance wall. It also covers computer classes, the post-PC era, functional units, computer working principles, and the eight great ideas in computer architecture design such as performance via parallelism and pipelining.