Students learn to design synchronous and asynchronous digital systems, and undertake a series of case studies using programmable logic devices. Students are introduced to the use of the C programming language for embedded computing. Students deepen their understanding of embedded microcontrollers and communication protocols used by computers/