Computation Structures is an introductory course about the design and
implementation of digital systems, emphasizing structural principles
common to a wide range of technologies.
Starting at the device level, the course develops a hierarchical set of building blocks — logic gates, combinational and sequential circuits, finite-state machines, processors and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples. The problem sets and lab exercises are intended to give students hands-on experience in designing digital systems; students complete the gate-level design for a RISC processor during the lab exercises.