Embedded programming is the term for the computer programming that lives in and operates the great many computer-controlled devices that surround us in our homes, cars, workplaces and communities. For every desktop or notebook computer you have, you may have a dozen or more (perhaps a great deal more) microcontrollers quietly doing their embedded duty, and in these devices most people don’t even realize there’s a computer running a program. But there is, and it is, and those programs had to be written, and that’s why the world needs embedded programming. Embedded computers (microcontrollers) add intelligence to countless devices and systems, enabling those devices and systems to operate better, faster, more safely, more efficiently, more conveniently, more usefully, and in many cases allowing the very existence of devices and systems that could not be built otherwise. Spend some time looking around you and trying to perceive where microcontrollers are working, and you will begin to get a sense of how ubiquitous they have become since their invention some 40 years ago.