This course takes students from the physical building blocks of computation to the architecture of the machines they use every day. Beginning with switches, logic gates, and Boolean algebra, students build up the digital circuits and simple machines — adders, registers, multiplexers — that combine into a working CPU, then trace exactly how that CPU executes instructions through the fetch–decode–execute cycle, pipelining, memory hierarchies, and input/output. In the second half of the course, students turn these foundations outward, analyzing and comparing real architectures across computing history and the present day: retro and embedded systems, desktop processors, mobile and system-on-chip designs, and emerging parallel and quantum architectures.