Heads up - it's the twenty-first century! It's easier than ever to make your own gadgets. The Arduino is a hardware and software package that allows you to create your own gadgets from scratch. It's essentially a microcomputer that you can hook all sorts of neat things up to and that you can make full-fledged projects out of. Programming your Arduino projects isn't terribly difficult, but there are a lot of underlying concepts that you need to grasp if you really want to propel yourself forward as a programmer. You're going to be working with pretty low-level concepts, so it's important that you familiarize yourself with all of these before you jump into Arduino programming.