The course provides the skills needed to develop software for ARM based embedded systems. The course explains the ARM architecture, then demonstrates the advantages of programming in C instead of the microcontroller's specific assembly language, including faster development, improved portability, and reusability. The course is taught using an ARM development kit and related add-on boards. This is a very practical, results-oriented course, which will provide knowledge and skills which can be applied immediately.