This document provides an overview of the CS152 course on computer systems architecture. It will cover the hardware-software interface, digital design concepts, computer architecture including simple and pipelined processors, and computer systems including operating systems and virtual memory. The document discusses the von Neumann model of computer design and how most modern computers are based on this model. It also introduces some of the challenges in designing efficient processor pipelines, including hazards that can occur like read-after-write hazards, load-use hazards, and control hazards caused by branches. Solutions like forwarding, stalling, and branch prediction are discussed.