This course provides an introduction to computer organization and computer architecture. It builds on digital logic theory and devices (as studied in EE 365) and procedural logic (as studied in CS 360) to develop more complex systems. Emphasis is placed on understanding the basics of computer system organization, design, and operation. This includes the use of register transfer language (RTL) to describe the movement of data in the computer and assembly language programming to control the system at a higher level. Other topics such as microprogram control, RISC architectures, arithmetic processing, input/output, and memory design are introduced. Cadets learn the fundamentals of SPARC assembly language to demonstrate instruction-level control of a real processor. Cadets are introduced to the C programming language and linking assembly language routines with higher level languages.