In this course, students learn about the various types peripheral devices that can interface to a microprocessor. They learn about different protocols for parallel and serial interfaces. Some of the most popular interfaces such as I2C, SPI and USB are covered in this course. The students also learn how to design a microprocessor subsystem to interface with most commonly used I/O devices such as keyboards, keypads and LCD displays. The prerequisite for this course is the satisfactory completion of CE-400.