This document provides an overview of computer architecture. It discusses how computer architecture is the science of selecting and interconnecting hardware components to meet functional, performance and cost goals. The document then explains key concepts like instruction sets, components of computers like processors and memory, and design goals for architectures like performance, cost and reliability. It also covers the evolution of computer technologies over generations from mechanical to vacuum tube-based systems to today's integrated circuits.