Basic computer structure. Design of central processing unit. Hardwired control. Input-output and the use of interrupts. Assembly language programming. Main memory organization and caches. Peripherals and interfacing. System design considerations. The laboratory will consist of experiments involving logic systems and microprocessors and a large open project. Design activity constitutes a major portion of laboratory work.