“Do I give (kid’s name) something educational, or something fun?” As parents, relatives, and friends of people with children, we face this question on the regular – because no matter the occasion, we’re torn between pleasing the child and pleasing their parents.

My new go-to solution? Toys, games, and other gifts that help kids learn coding. Kids love ’em, and I’ve yet to get the dreaded parental stink-eye when they’re unwrapped.

If you just want the list of coding games already, jump to the sections below. If you’re up for a little sidebar on why you can feel good about them (not just “this gift does no harm” good, but “this gift is legitimately, materially good” good), meet me below this next headline…

Coding games and toys equip kids with 21st-century skills

We all know computers have changed our world forever. But what we don’t yet know is how (or whether) the inflow of new tech workers will keep pace with demand.

Coding games and toys equip kids for the 21st centuryTech jobs are already the most sought-after in the world today, with companies offering eye-popping compensation packages to secure the best talent. And the opportunities just keep on growing. Little wonder that nine parents of out ten want computer science taught at their child’s school.

The US Bureau of Labor and Statistics reports that by 2020, there will be 1.4 million jobs in computer science, but only 400,000 computer science graduates nationwide. The Obama White House even started programs to fill this education gap, with a Computer Science for All initiative that teaches more kids to learn how to code.

“In the new economy, computer science isn’t an optional skill – it’s a basic skill.”   – Barak Obama

And yet, computer science is not part of the required curriculum in US public schools. (And with POTUS 45’s general distaste for federal mandates in education, don’t expect to see such requirements any time soon.) In other words, it’s up to us adults to be the change we seek and make sure the kids we care about are exposed to computing. You can cultivate a child’s interest in computing, even if you’ve never written a line of code yourself.

So instead of waiting around for formal programs to land in schools, a bunch of us parents at Atlassian decided to share our favorite games, toys, and books that help kids develop computer skills (and have a ton of fun in the process).

Coding games

1. With game-like tutoria s for kids as young as four, Code.org is the best online tool for starting kids at an early age. Code.org is famous for their hour of code, which includes four free hour-long tutorials based on popular movies and characters from Star Wars, Frozen, Moana, and Minecraft. (Speaking of which, standing up a Minecraft server you can modify is a great way for technical parents to get their kids comfortable with the command line, as one of our staff recently discovered.) Best for ages: 4+

2. Based on the Scratch language, Scratch Jr is an iPad game for young kids that doesn’t require reading. The Foos is a coding game for kidsBest for ages: 5-7

3. Also based on Scratch from MIT, the Foos is an app that allows kids to interact with fun characters called “Foos”. Best for ages: 5+

4. Robot Turtles is actually a board game, but teaches the fundamentals of programming (without kids even knowing it!). It also happens to be the most widely backed board game in Kickstarter history. Best for ages: 3-8

5. Developed by Apple based on their coding language, Swift, Swift Playgrounds is an app for iPad and iPhone that teaches kids to code in a fun way. Best for ages: 6+

6. Inform 7 lets you use natural language to create interactive fiction – one of the first forms of the modern video game. It doesn’t involve code as heavily as the other programs, but it does develop some fundamentals of software development including defining features and interactions. For instance, you can create places and objects, describing it in language like, “The farmhouse is east of the field” so that when a user introduces a command to move east, they encounter the farmhouse.  Best for ages: 9+

Coding toys

7. Goldieblox changed the world of girls’ toys forever when they set out to “disrupt the pink aisle” dominated by dolls that don’t even have posable arms. Driven to increase the number of women in STEM, Goldieblox toys cultivate creative thinking and problem solving as kids build machines using basic engineering principles. Best for girls ages: 4+

Dash and Dot are a coding toy for kids8. Dash and Dot are cute little blue robots that help kids learn the basics of robotics. Dash is a ready-to-go robot that responds to voice commands, can navigate objects, and can learn even more tricks that kids can program through the app. Dot is considered “the brain” of a robot, that kids can program directly to respond to commands. Best for ages: 8+

9. Lego Mindstorms show how far these classic blocks have come. With Mindstorms, kids build and program robots that respond to commands on a smartphone app. And even though you’re all grown up, we won’t judge harshly if you can’t resist the urge to build a robot or two of your own. Best for ages: 10+

10. Arduino is an open-source electronic prototyping platform that allows you to create interactive electronic objects. An Arduino board can read an input from a sensor or finger touch, and turn it into an output such as turning on a or closing a door. You can use Arduino to create many smart home devices, like light and TV controllers, smart clocks and weather readers, an electronic safe, a fingerprint scanner for the garage door, or an automatic dog feeder. The must-have component at Maker Faires, Arduino is a great platform for the kid who’s always tinkering with electronics. Just be careful, though: you might have a flame-throwing jack-o-lantern on your hands by Halloween. Best for ages: 10+

Coding books

11. Written by a father and son team, Hello World introduces the world of computer programming in a friendly and engaging style. Best for ages: 12+

12. Code: The Hidden Language of Computer Hardware and Software illuminates the world of computer interfaces, hardware, and the internet through stories. Best for ages: 10+

13. In the Super Scratch Programming Adventure! workbook kids learn programming fundamentals as they make their very own playable video games. Best for ages: 8+

Super Scratch Programming Adventure is a comic book that helps kids learn to code

14. Python for Kids: A Playful Introduction to Programming is a kid-friendly approach to learning Python. The author writes in a fun style, highlighting code in colors, and including quizzes and exercises at the end of each chapter. Best for ages: 10+

Online tutorials and resources

15. Scratch is a programming language developed by MIT for young learners. On the Scratch website, kids use code blocks to create interactive stories, games, and animations. It’s a great introduction to the logic aspect of programming. While it is used primarily by kids ages 8-16, younger kids can still learn a lot by playing with their parents, or by checking out ScratchJr, an iPad version of scratch which doesn’t require reading. And you don’t have to be technical to get your kid started. They have great resources for parents! Scratch programming is also what is used by Google’s CS First program, a free training program offered by google in participation with schools. Best for ages: 5-7 (Scratch Jr), 8+ (Scratch)

16Codecademy is the place to learn web development skills online.The courses are designed for absolute beginners, with “badges” and achievement points that help kids see the progress they’re making. Codeacademy offers free and paid courses in HTML, Java, Ruby on Rails, PHP, Python, Ruby, SQL, and Git. Your child can start learning these specific coding languages, or go with broader learning concepts like making an interactive website. Best for ages: 13+

17. GrokLearning is a series of online coding courses introducing students to Python 3. And for kids who like a little competition, they host online coding contests that take place across the globe. Best for ages: 13+

Coding is all about learning by doing. And the more kids feel like they can “do” computers, the more likely they are to pursue technical careers. Between coding games, toys, books, and online tutorials, there are loads of ways to help the special kiddo in your life start doing and learning.

It’s a brave new world out there… but at least preparing for it can still feel like child’s play.