I love to see how society evolves with technology. We're all so reliant on the internet now, thinking several years back things sure were different. I had a neighbor several years ago that was trying to teach his two young daughters to be hackers. His thinking was that the l33t haxor skillz would give his daughters an edge as they grew older and would put them ahead of the curve as far as their understanding of computers, networking, and programming. These skills would also put them in a position to be ahead of technology with hopes that they would continue to grow with technology as it advanced.
Admittedly, I've attempted the same with my kids. My kids are young, from 2 to almost 10 (I have 4, not counting the one on the way), but they understand the basic concepts of how the internet works. They know what is really happening when they visit a webpage, they understand the basic networking concepts that make the internet work. I've had them all watch as I've opened up one of their PCs to add or replace hardware and explained what all the parts are to them. I like to think that my kids are ahead of game when it comes to computers and technology, but that might not be the case.
A new kids board game, called C-Jump, is now available that teaches kids the basic concepts behind programming languages such as C++ or Java. The object of the game is to get a skier down a mountain with the fastest route possible all by using C-style syntax and the roll of a die to determine the value of x. The kids determine the route down the hill by using very basic math and syntax such as if (x==5) or while (x < 3) where the die provides the value of x.
Looking at the game, I think my older kids would have no problem figuring out how to play the game (my younger kids aren't there yet). It would be great to get them to understand the basics of programming languages at such a young age.
The other day I read via Mike Gunderloy about how Morrison Schwartz has taken this a step further. Kids Programming Language is designed to teach kids that programming is fun, where they can see immediate and exciting results. It has it's own IDE and entertaining samples. From the KPL website:
KPL’s language is modeled on the simplicity and readability of BASIC, but it is a structured rather than linear programming language. KPL lets children see eye-catching and immediate results from their programs, while teaching them fundamental concepts like variables, data types, loops, decision structures, methods and functions. KPL’s data types include integers, decimals, strings, booleans, arrays, and user-defined structures.
While the language still seems like more than my young kids could handle, it is just awesome to see how society is starting to evolve and we're starting to think of our kids having an knowledge of computers, to the extent of knowing how to program them, as a fundamental part of learning.