It’s undeniable that computers have become a central, even essential, part of our daily lives. We use computers for work and for entertainment. Computers are the mechanical brains in everything from our cars to our microwaves. In the past two decades, computers have infiltrated nearly every aspect of our lives, and their influence and use are likely to continue to grow in the future. And yet, many people remain woefully illiterate when it comes to working with our mechanical companions. Sure, most adults can navigate their smart phones, or find their way around in Microsoft Office, but how many truly understand the underlying mechanics of their digital helpers? More importantly, what can we do to ensure our children are set for success in a world that is increasingly run by computers?
One of the best ways to really start to understand the wonderful, complex world of computers is to learn how to write computer programs. By starting your children on the path of coding enlightenment at an early age, you’ll be preparing them for a lifetime of tech savvy that most current adults can only dream about. With the right skills, your kids can learn to communicate directly with your machines at the code level, leading to endless possibilities.
First, how young can you start teaching your kids to program? Granted, your toddler probably doesn’t have the patience or critical thinking skills necessary to write programs in C++ (which, if handled improperly, could easily crash your computer), but you can start teaching them the foundational concepts of programming at a very early age.
Computer programming essentially boils down to logic and math, so a good grasp on these skills will give your kids a great start.
Try making a game out of basic conditional statements, like the if – then – else control. You can do this with blocks or other objects of distinct shapes and colors. Write out a series of if – then – else statements and use the objects to represent data. For example, you could write the following statement: “If the shape has four sides, then put it in pile A, else, put it in pile B.” Then, give your child a bunch of cut out shapes — some with four sides and some with more or less than four side — and explain the if – then – else statement. Then go through each shape and ask your kid whether it satisfies the if condition, and which pile the shape should go into. You can build from there, making the tests more and more complex as your child gets a grasp on the concept.
Learning the concept of stored variables is a great way to practice math and work on basic programming concepts. This you can also simulate using games. Use small boxes filled with marbles to represent variables containing numbers. For example, take three boxes — A, B, and C — and put three marbles in A and two marbles in B. To demonstrate assigning the value of A + B to C, arrange the boxes on a table like a simple equation (C = A + B), and ask your child how many marbles should go into box C. Be sure to not take marbles from A or B to do this, as generally in computer programming such an operation would not change the values of those variables. Then, rearrange the boxes, so that A = B + C, and have your child change the number of marbles in A to satisfy the equation. Do this with a variety of mathematical processes including multiplication and division.
Once your kids are old enough to start working with computers, there are a lot of resources available to help them learn programming at a very young age.
Move The Turtle, an iOS app from Next is Great, teaches young children the basics of programming by giving commands to an animated turtle. The education app increases with difficulty and provides step by step instructions for completing the tasks. Your child will learn basics like loops, functions, and variables. There’s even a scratch board to create your own programs.
Scratch, which is a programming teaching tool from MIT, is a simple, visual programming language that lets your kids dictate the movement of animated cartoon characters using standard program controls. Scratch is available as a free download, and is appropriate for children as young as six years old. Scratch even has a large community of young developers who are eager to share their games and other creations, allowing your kid to get involved with other coders from around the world.
For your older kids, Hackety Hack is a great learning tool that teaches children to program in the flexible and easy-to-read Ruby programming language. Hackety Hack teaches the basics of programming from the ground up without any assumption of prior programming experience. It also uses the Shoes framework, which makes it easy to build graphical interfaces quickly, resulting in a rewarding early programming experience.
Finally, there are tons of books out there written specifically to teach programming for kids. Hello World! by Warren and Carter Sande, is appropriate for kids from elementary school to high school, and teaches them to program in the widely used Python language. This book will have them building their own games by the time they’re finished with it, which should be a great motivator for any computer game obsessed child.
The great thing about all of these resources is that even if you, as a parent, are not as fluent in computers as you’d like to be, you can learn right along with your kids using any of these resources. Before you know it, you’ll be the most tech savvy family on the block!