Introduction to the design of embedded systems using both hardware and software. Topics include microcontrollers; their architecture and programming; design and implementation of embedded systems using field programmable gate arrays. Topics covered include introduction to a specific microcontroller architecture, its assembly language, and programming; peripherals, input/output ports and timers; interrupts; memory systems; analog to digital and digital to analog conversion; parallel and serial interfacing; hardware modelling; structural specification of hardware; rapid prototyping using FPGA’s.