Whether or not your child
grows up to be the next Zuckerberg, programming is a highly useful skill for
him or her to learn. It teaches vital problem-solving, creativity, and
communication skills. Plus, it can be downright fun for you both.
It's hard to imagine the
amazing apps and tools our kids will develop when they're older if we get them
started on learning how to tinker with codes now. But most importantly, when
you introduce your child to programming, in the process he/she's not just learning
to code, but also coding to learn,
as MIT professor Mitchel Resnick writes.
At 6, 7, 8 or even 9-years old,
children may be too young to think of codes in terms of "If-then"
statements, true, but the impetus is still the same: they want to play games
(how about making the game?) and don't even question that the tools are within
their reach. The absolute dexterity with which some of our kids play these
games should make us wonder; who taught them how to play these games so well
within such a short while the iPad (tablet PC) or mobile device was handed
them. Now, let’s put their curiously daring minds to more fruitful ventures;
LETS GET THEM TO MAKE THEIR OWN GAMES, LET’S GET THEM TO MAKE THERE OWN
ANIMATIONS AND SHARE WITH THEIR FRIENDS. What an awesome experience this is gonna
be. Thing is the awesome apps available today engage their curiosity and teach them
the fundamentals through exploration and play, which are by far the best way to
learn.
Here are some of
the best tried-and-true apps for teaching kids of all ages how to code. Many of
them are iPad-based, simply because that touch interface is more intuitive for
young kids, but there are desktop and web-based apps as well for students of
all ages.
Programming Games for the Youngest Learners
The best apps for the youngest children are
centered more on graphics and simple animations than the actual code itself.
While most of these types of game-like educational apps are rated for ages 8+,
if your kid is old enough to read, understand cause and effect, and motivated,
you can introduce the games below to even pre-K learners.
Daisy the Dinosaur (iPad, free): This app prompts kids to
manipulate a character, Daisy, through challenges that involve loops, events,
and other programming basics (e.g., when touched, move dinosaur forward). It's
a very stripped-down, basic program, but the simplicity is a big plus for young
kids. There's a free-play version in this app as well, so you can make Daisy
jump in the air or walk backwards at will. (The novelty of this, however, wears
off as soon as kids discover the stellar kids' animation tool Toontastic, which doesn't teach code logic, but rather
storytelling basics).
Move the Turtle (iPhone/iPad, $2.99): Similar to Daisy the Dinosaur, Move the Turtle
teaches basic programming concepts by manipulating one graphical object through
challenges. Yes, a cute turtle (like Logo back
in the late '60s to '80s). Though with slightly less functionality than Daisy the Dinosaur, this app comes
highly recommended. With Move the Turtle, kids can learn a great deal of
logical programming concepts, as Wired's Geek Dad asserts; (I prefer Move the Turtle's puzzles and
interface over Daisy the Dinosaur, but who am I to argue with a 7-year-old?)
Graphical Tools for Beginners of All Ages
Moving past the simple
single-character-manipulation apps, you'll find apps that teach programming
through drag-and-drop interfaces with coding blocks. Think LEGO, but with code.
In these, your child can pull in code parts to manipulate more than one object
(and access more commands, variables, and events) to create animations or
games.
Hopscotch (iPad, Free): From the makers of Daisy the Dinosaur, Hopscotch is
a visual introduction to programming for kids ages 8-12. Kids can select preset characters or create text objects and
manipulate them by dragging-and-dropping method blocks. For example, you can
move an object by a set amount on the X-Y axis, change the scale, or repeat
actions. The app offers just right amount of controls for kids just starting
out. They're very limited in what they can do, but this means kids can play
with the iPad on their own and learn how each basic method works. (So, you
don't have to feel guilty saying "Find out for yourself" when your
kid asks "How do I make the monkey move backwards?")
Scratch (Web,
Free): An MIT project specifically designed for kids ages 8 to 16, Scratch has
been used by educators and parents around the world to help kids develop
animations, interactive stories, and games through drag-and-drop code blocks.
It was the first programming tool I introduced my first summer students to when
I started out, and it was a wonderful experience for all of us. I remember in
one of our sections pupils refused going home at end of the class because they
all got to a certain point (bug) and they insisting on staying back to fix or I
show them how so they can continue with other steps to finish a game we were
creating. Well, time was up we had to go to finish it up in a subsequent class.
Scratch remains their favorite programming tool, mainly because it offers so
much control. It's like Hopscotch, above, but more robust, and like App
Inventor, below, but more user-friendly. In Scratch, there's a huge gallery of
objects you can use or customize. And with the vast array of methods available,
you can make them do just about anything. Although games created with Scratch
can't be turned into bonafide mobile apps, your kids' creations can be saved
and shared on the site.
Stencyl (Windows,
Mac, Lunux; Free): It "pays homage" to Scratch but specifically
designed to create games and can publish to every platform (iOS, Android,
Flash, HTML5, Windows, and Mac). Over 12,000 games have been created using
Stencyl; I’m trying this out someday soon. Lol.
DynamicArt [$2.99] is much like
scratch but is more focused on making procedural drawings
Kodable [Free] is very kiddie-ish and makes kids perform procedural programming to solve puzzles.
Kodable [Free] is very kiddie-ish and makes kids perform procedural programming to solve puzzles.
I dont think this is for a 7 year old, but there is Codea [$9.99], a Lua interpreter for the iPad. Lots of cool
things have been done with it, but its object oriented and may be tough for a
kid to learn unless you happen to know Lua already to help.
[To be Continued]