Introduces computer architecture and provides a foundation for the design of complex synchronous digital devices, focusing on: 1) Established approaches of computer architecture, 2) Techniques for managing complexity at the register transfer level, and 3) Tools for digital hardware description, simulation, and synthesis. Includes laboratory exercises.