This book is designed for the informed beginner. I would hope that before beginning the projects in this book you would be familiar with your personal computer and its basic use and functionality. You won't need prior programming experience, but it will be helpful. You'll be introduced to some of the most basic working of the Linux operating system, so any familiarity there will be helpful, but not essential. More than anything the book requires a curiosity about how robots or other embedded projects work, and the tenacity to work through the issues associated with building your own hardware and then adding software to get to a working system.