Gene Luen Yang is the award-winning writer behind graphic novels like American Born Chinese and the ongoing Superman comic. His newest graphic novel, Secret Coders, is about students who try to figure out the mysteries of their school (which is full of four-eyed birds and robot turtles). To solve these mysteries, the students must use logic puzzles and the fundamentals of computer programming and binary code.
A coder himself, Yang got his undergraduate degree in Computer Science and programmed professionally for two years before teaching high school computer science for over 15 years. As a father of four, Yang encourages his own kids to experiment and embrace the joy of programming, and he shares with us his tips for sparking that interest with your own kids.
As computers make their way into every corner of our lives, our computer science education has weakened. From 2005 to 2009, the number of introductory coding classes in American high schools dropped 17 percent, and the number of Advanced Placement classes dropped 35 percent. Forward-thinking educators are working hard to close the gap between the skills of our students and the demands of our workforce. But in the meantime, parents who want to expose their kids to coding will need to take things into their own hands.
My wife and I have four kids—a son and three daughters. I don’t know if any of them will grow up to be coders, but I want them to at least know what it’s like. I want each of them to experience the coder’s high—that euphoria you feel when the program you’ve worked on for hours actually runs—at least once.
Here are six strategies I’ve used with my own kids.
1. EXPLAIN CODING IN SIMPLE TERMS.
There’s a misconception that coding is so complex, it can only be understood by an elite few. That just isn’t true. While not everyone will become a professional coder, anyone can understand the basic concepts.
Simply put, coding is giving instructions to a computer. Every software application is a list of instructions. Microsoft Word is a list of instructions that teaches the computer how to change keystrokes into text documents. Firefox is a list of instructions that teaches the computer how to visually display HTML files.
I used to tell my students that if they liked telling people what to do—giving instructions, in other words—coding just might be for them.
2. USE GAMES.
The most-backed board game in Kickstarter history is called Robot Turtles, created by former Google engineer Dan Shapiro. It’s since been picked up by games publisher ThinkFun, and you can now find it at your local Target, shelved right next to Monopoly.
Robot Turtles is pretty old-school, with a fold-out board and tokens and cards. No batteries, no sounds, no lights. Gameplay consists of giving robot turtles instructions to move them to their gems.
My three- and five-year-old daughters love Robot Turtles. The five-year-old struggled with putting her instructions in the right order at first, but now she wins pretty consistently. The three-year-old doesn’t totally understand what’s happening, but she still asks to play. Even in the age of video games, a well-designed board game has plenty of appeal, and this one helps teach the basic ideas and tenets of coding.
3. GET ARTISTIC.
My eight-year-old daughter is the artsy one. She paints, folds origami, and makes the coolest jewelry out of little rubber bands. I tried to get her interested in coding more than once, but what finally got her attention was an old programming language called Logo.
Logo was first invented in the 1960s. It enjoyed immense popularity in elementary schools during the 70s and 80s. If you’re like me and learned how to code in those decades, chances are you learned Logo. I have a deep affection for the language, which is why I use it in Secret Coders.
In Logo, there’s a little turtle that you can give instructions to move about the screen and draw. (Dan Shapiro has a deep affection for the language, too—Logo was the inspiration for his Robot Turtles game.) When I showed my eight-year-old how to make a multicolored snowflake with a few lines of code, her eyes lit up.
Logo interpreters (software that teaches your computer the Logo language) are still around. My favorite is UCBLogo, freely available for Mac, PC, and Linux.
4. UNLEASH THE ROBOTS.
I recently bought an Ozobot, a $60 robot that’s about the size of a ping-pong ball. It has a color sensor on its bottom, and it can follow a felt-marker black line.You also program the Ozobot by drawing colored dots to which the robot will respond. You can control its speed and direction, and you can even make it dance. Printable games and other activities are available on the Ozobot website.
Our eight-year-old is particularly taken with it because of the art connection—she can code by drawing with her felt-tip markers.
5. START SMALL.
You don’t need an expensive computer to start coding. Our 11-year-old son has a Raspberry Pi, a $35 computer that’s about the size of a credit card. He hooked it up to an old keyboard, an old mouse, and our family television set. We installed a Raspberry Pi–specific operating system called Raspbian, which includes the programming language Python. Now he’s teaching himself Python on his Raspberry Pi by watching YouTube tutorials.
6. DON'T FREAK OUT.
Parenthood is fraught with insecurities, and technology is a great way to introduce more. Coding is a wonderful discipline that trains students to think clearly and logically. But, as I said before, not everyone is meant to become a professional coder.
Our goal with coding, as with all aspects of parenting, is to expose our children to life’s possibilities. Coding should open doors, not close them. If your child doesn’t take well to coding, that’s perfectly fine. As parents, we need to remember that our children aren’t computers. At some point, they’ll need to follow their own instructions.
Secret Coders by Gene Luen Yang and Mike Holmes goes on sale Sept. 29 in bookstores and comic book shops everywhere.