Coding is an essential skill, but it can seem pretty dry to kids if they only see their creations on a screen. That's why programmable robots are so popular, letting young engineers see the results of their work in the real world, roaming around the kitchen floor and chasing the family cat.
There are so many DIY bots around, it can be tough to choose the best one for the junior coder in your life, so we've rounded up the very best options for a range of budgets and ages.
Cozmo is small enough to fit in the palm of your hand, but despite its diminutive size it's a surprisingly smart little bot. It's aimed at kids aged eight and up, but there's plenty to keep older children (and adults) entertained too.
Once it's connected to a smartphone, you're ready to start taking care of your new friend by attending to various 'needs', Tamagotchi-style. For example, its 'Energy' need can be satisfied by interacting with its three power cubes, while 'Fun' is fulfilled by playing with it, teaching it expressions and words.
Perhaps its best feature, however, is the Code Lab, which lets youngsters create their own programs using simplified building blocks. It's a great way to introduce the fundamentals of coding in a way that never feels like homework.
While the aforementioned Cozmo is an adorable little bot that provides a great gateway to coding, the Vector is less of a toy and more like a cross between a pet and a virtual assistant.
Vector is considerably larger than Cozmo, and doesn't require a smartphone app (other than for the initial setup). Instead, all the processing happens within the robot itself, which connects directly to your home Wi-Fi network.
In action, it has real personality (thanks to an animation expert from Dreamworks) and is capable of learning faces and playing games. Four near-field microphones enable it to respond to voice commands, and an imminent software update will make it compatible with Amazon Alexa.
Open source platforms like Raspberry Pi have opened up DIY computing, but the learning curve is pretty steep – particularly for kids. That's where LittleBits comes in, providing kits and instructions that let everyone enjoy the fun and challenge of building their own robot.
Not only can young engineers make their own R2-D2 using instructions provided in the companion app (accompanied by the iconic John Williams soundtrack), a recent update means they can also customize and re-program it using MIT's Scratch code platform.
Ambitious droid builders can even incorporate other components into their projects, with impressive results. To get an idea of what's possible, take a look at the LittleBits Droid Inventor Kit Competition. It's inspiring stuff.
Orbotix, the company behind the enormously popular Sphero BB-8 toy, has branched out into DIY coding with SPRK+ – a little bot that resembles a Raspberry Pi trapped in a hamster ball.
SPRK+ connects to a phone or tablet via Bluetooth (it's compatible with iOS, Android and Kindle devices), and allows users to either run ready-made programs or create their own. There are also various challenges to complete, including a raft rescue (the ball is waterproof), and young programmers can share their creations with the SPRK+ community.
When it comes to coding, SPRK+ offers three levels of complexity: Draw (simply sketch a path for the bot to follow), Blocks (drag and drop chunks of code) and Text (write your own code from scratch). This is pretty unusual, and means this little bot will grow with its owner for years to come.
Reach Robotics, the company behind Mekamon, describes it as "Pokémon in real life". The spider-like robot is controlled using a smartphone app, and can go into battle against other Mekamon or virtual enemies you can see on your phone's screen.
Mekamon V2 is great fun, with bags of character, but you can add a personal touch with MekaMotion, which lets you use the robot like a stop-motion puppet. Pose the robot manually like a clay figure to create a series of 'frames', then replay them as an animation. The app is still in development, and new programming options will be coming very soon as well.
It's quite a pricey device, but it's solidly built and Reach is committed to backwards compatibility, so it'll keep receiving new features and updates for years to come.
This fun toy is designed for kids aged three to six, introducing the fundamentals of coding in a way that encourages them to think independently and solve problems by experimenting.
The Code-a-Pillar is made of detachable sections that represent chunks of code, and rearranging them will cause the cute bot to take a different route. The set includes one sound segment, three straights, two left turns and two right turns, but others (including a 180-degree turn and extra sounds) are available to buy separately once the little person in your life is ready to try something more complicated.
The Code-a-Pillar works equally well on hard floors and carpet. Provided you have enough floor space, it should give youngsters a head start in understanding programming principles, without even realizing they're learning.