A bottom-up exploration of the interaction between computer hardware and software. Topics begin with an introduction to digital logic,
and continue through elementary processor design, to assembly language, machine data representation, and computer arithmetic. Other
topics in contemporary computer architecture such as multicore processors and GPGPU’s may be discussed as time allows. Projects
include hardware and simulated digital circuits as well as programs in assembly language.