Each summer, my kids try to waste away their time off from school by watching television, playing video games, and accomplishing nothing. To an extent, I’m OK with this. Each year, school demands a little more and they need their time to unwind. However, I’m not OK with it on the whole.
So, a couple of years ago, I decided that each of them had to imagine a project, map it out, and complete it over the course of the summer. The subject and direction is entirely up to them. For instance, my son is a big music fan, and this spring he decided he was going to write a song. To help him, we sat down and talked about time signatures, keys, and the components of a song. He’s made progress, but the Billboard charts needn’t worry about how to spell his name yet.
One of my daughters decided she was going to program a game. Fantastic, I thought. Until I realized I didn’t really know where to start. Which language to teach? How basic (no pun intended) should the lesson be?
Luckily, I came across a book in DK Books “Help Your Kids With” series. The books, which cover everything from math to science to language arts, recently released a volume on computer coding. Help Your Kids With Computer Coding was just the thing I needed to give my daughter a jump start on programming a game.
Every page of the book is colorfully illustrated in pixel art and creates a welcoming and familiar atmosphere for learning about a potentially intimidating subject. After a few, brief pages on what a program is and what a programmer does, Help Your Kids With Computer Coding jumps right into its first language, the kid-friendly Scratch.
In the beginning of the section’s sixty or so pages, kids learn about the Scratch interface, creating and editing sprites, and writing their own scripts. As they progress, they will learn about strings and loops before getting into more complex concepts, but the progression is so gradual and includes so many examples, that kids’ll likely not notice how quickly they have ramped up. At the end of the section, they’ll have learned enough to have programmed a couple of short games.
With a good understanding of Scratch under their belts, the next section focuses on Python. As you can imagine, the explanation is a bit longer and gets into understanding and dealing with errors, algorithms, and debugging. These might seem like big concepts for some kids (and you might have to hand-hold for parts of the book) but because Help Your Kids With Computer Coding carries over the same familiar style of building blocks from the more easily understood Scratch discussion, Python becomes easier to grasp. At the end of the Python lesson, kids will have built another couple of games, while learning about libraries, coordinates, branching, and tuples.
At the end of the book are a few sections, one called “Inside Computers” that brings up things like what binary is, what’s inside a physical computer, and storing data in folders. The other section is “Programming in the Real World” and superficially touches on how programming is used, um, in the real world. There’s also a glossary. These sections feel tacked on; meant to fluff the total content from 180 to 220 pages.
I’d hold it against them if the rest of the book wasn’t so good. The instruction is so well thought out and presented that, even without parents watching over their shoulders, kids should be able to teach themselves both of the languages without much trouble.
That doesn’t mean your kids will necessarily be on the road to a career in programming, but even if they end up doing something else, a background and deeper understanding in what makes programs work will surely serve them well even if their technical expertise never expands past family IT support. Help Your Kids With Computer Coding is available now from DK Books.
Disclosure: GeekDad was sent a sample of this book.