It’s important to mention first that coding has a diversity problem. More than half of the titles on this list were written by white men. There just aren’t enough non-white, non-male people writing programming books, much less programming books for kids, to represent the diversity of the actual population. It’s a problem throughout the computer science world. While the issue of homogeneity in computer science is complicated, books like these can help spur a shift toward diversity. That goes double if they’re made available in schools and libraries, where computers are freely available. Let’s show kids that awesome hi-tech coding skills have no gender or race.

General Coding

Girls Who Code: Learn to Code and Change the World by Reshma Saujani

You might have heard of the Girls Who Code movement, but have you heard that it’s working? That’s right! This is a great way to introduce middle school girls to computer science.

Hello Ruby: Adventures in Coding by Linda Liukas

The pun here is that Ruby is its own programming language as well as the name of the main character of this book. There’s a primer on Ruby the language later on this list.

Secret Coders by Gene Luen Yang and Mike Holmes

This charming comic book introduction to computer science features an engaging storyline and fun, diverse characters. Yang also wrote Boxers and Saints and American Born Chinese.

Java

Java is often the first language programmers learn, but it’s a tricky creature capable of frustrating even the most gifted computer nerds. These books attempt to provide a gentle introduction to a language that your tech-savvy kid will inevitably have to learn.

Java For Kids: NetBeans 8 Programming Tutorial by Philip Conrod

This book is just as good for the classroom as it is for the home. Consider reading and learning together with your kid—adult guidance can be helpful with this one.

Java Programming for Kids: Learn Java Step By Step and Build Your Own Interactive Calculator for Fun! by R. Chandler Thompson

The nice thing about this particular title is that it gives kids a project. That’s usually the best way to learn Java, and almost always the best way to get hooked!

Javascript

Javascript is one of the three core languages of the Internet. The others are HTML and CSS. I couldn’t find any kid-friendly book intros to those, but they’re still important! Try using Khan Academy for that introduction. It’s free and I don’t know a better learning tool online. (There’s also a good chance your child will learn HTML in school—I did!) Anyway, Javascript can let kids add some pretty incredible bells and whistles to web pages. It can do almost anything that other languages can. It’s normally expressed in a web page, though. If you use Slack or Discord, then you’ve used a Javascript program.

JavaScript for Kids: A Playful Introduction to Programming by Nick Morgan

No Starch Press has a ton of amazing, engaging programming books for kids. This one is a great place to start.

JavaScript For Kids For Dummies by Chris Minnick

Don’t be fooled by the “For Dummies” appellation. Your kid’s no fool! This Wiley publication is a great place to start despite the generic title.

Python

You might notice that this section features the largest number of books. That’s because Python is probably the easiest language to learn. Tons of games use it, including Minecraft, and the basic grammar is similar to Java. For my fellow olds out there, Python has a playful history: its namesake is Monty Python’s Flying Circus.

Creative Coding in Python: 30+ Programming Projects in Art, Games, and More by Sheena Vaidyanathan

This book discusses practicalities, like how to save your file, while giving kids access to a powerful tool. No matter what their particular interests are, readers will be amazed at what they can do by the end of this book.

Invent Your Own Computer Games with Python by Al Sweigart

Reinventing Tic-Tac-Toe is a great way to learn Python. While your kids are playing around, they’ll also be learning important fundamentals.

Learn to Program with Minecraft: Transform Your World with the Power of Python by Craig Richardson

Minecraft. Enough said, right? This book is ideal for 9- to 12-year-olds, or anybody who feels like writing their own Minecraft mod.

Python for Kids: A Playful Introduction to Programming by Jason R. Briggs

I used this myself when I was learning to code. If you code through the lessons, you get results fast. It’s addictive!

Ruby

Ruby is a nice, simple, open-source language that almost anyone can learn. Students love it because it’s easy, developers love it for Ruby on Rails, which is a framework that makes prototyping a breeze. A kid who learns Ruby today may well continue using it for decades.

Ruby Wizardry: An Introduction to Programming for Kids by Eric Weinstein

This is a programming guide with a storyline! Follow Ruben and Scarlet as they learn how to write stories in Ruby.

Scratch

If you have a really young kid—like low middle school—then Scratch may be a good place to start programming. The whole point of this MIT project is to teach children the basics of computer programming. You don’t need to know any special code or language. Commands are just colored blocks that snap together. You drag and drop them onto an active field and then run your program. Both kids and adults get addicted to this fast. (I’m addicted to it, for heaven’s sake. I’ve just spent the last ten minutes teaching a cartoon penguin to do a flip over a lake of fire. Spoiler: he makes it.) This visually appealing game lays the groundwork for high-level programming in a fun way. Try Scratch for free here!

Code Your Own Games!: 20 Games to Create with Scratch by Max Wainewright

Really young kids can use this book without too much trouble, especially if there’s an adult on hand. It’s colorful, very easy, and gets amazing results.

Coding Games in Scratch: A Step-by-Step Visual Guide to Building Your Own Computer Games by Jon Woodcock

DK has a few great Scratch coding books. In keeping with the publishing company’s style, they’re very picture heavy and ideal for hyper children.

Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science, and Math by Majed Marji

This book does not mess around. Scratch may be colorful and fun, but it’s also a great way to learn about loops and algorithms.

Swift

Finally, here’s a way to show your kid the door to real-world app development. Swift supports iOS apps. That’s right: your child could build an app and install it on an Apple device. They could put it into the Apple store. They could make the next iOS Flappy Bird and pay for their own CS degree. Word to the wise: building an app is a lot more work than you’d think. It also takes planning. This is a good step for kids who are already hooked, especially if they’ve developed the requisite sticktoitiveness.

Coding iPhone Apps for Kids: A Playful Introduction to Swift by Gloria Winquist and Matt McCarthy

While the other books on this list can be useful for children with no experience, this one may be better for a child who has already been through Scratch. However, parents be warned: like many Scratch books, Coding iPhone Apps For Kids also teaches your children how to program a computer to make noise.

Swift iOS Programming for Kids by Steffen D. Sommer, Jim Campagno

This title receives a lot of well-earned praise. It’s clear, fun, and generally a great intro to a complicated subject. Don’t be fooled by the boring cover!

A Parent s Guide To Computer Programming Books For Kids - 39A Parent s Guide To Computer Programming Books For Kids - 48A Parent s Guide To Computer Programming Books For Kids - 30A Parent s Guide To Computer Programming Books For Kids - 91A Parent s Guide To Computer Programming Books For Kids - 56A Parent s Guide To Computer Programming Books For Kids - 17