I've seen a few things from Liukas, and shared her Principles of Play video on Hubski before.
I really enjoy Ruby as a programming language, and there's some really high quality resources out there for it, but few target teaching it to children and in schools. Liukas' book provides fantastic hand-drawn activities that she has tried and tested with Ruby Girls, a franchise of local groups to get girls interested in STEM that Liukas co-founded.
My hope is that most of these can be applied in a classroom, providing that all important variation in learning (and play) styles.
It doesn't matter which language, any form of programming taught to kids is going to be beneficial.
It is not the coding part which is important but it is THE WAY a programmer thinks which is. Inculcating such thinking will make the next generation better thinkers and better problem solvers. I am fully supportive of teaching coding to kids and making it part of the curriculum in schools. Computers have now become ubiquitous, better get used to them ASAP.
RPG Maker VX Ace uses Ruby so that you can write custom scripts not included in the game. Really fun program that you can actually do quite a bit with. Having a class with Ruby followed by making their own game could be fun for kids. Hell, I have a blast and I don't know any Ruby at all!
On the off chance that you're actually interested in the program, it regularly goes on sale for $10 - $15 USD, so I'd definitely wait until then to grab it. Check around Halloween or Christmas!
It's really cool that there's a huge push for programming education amongst kids. Programming, especially within environments that are aimed for children, really helps teach logic and procedures. In a way, it helps "visualize" math. Rather than using an expected number vs found number appoach, programming allows the development of diagnostics through spatial means. Take a look at Scratch, for example. All of the math and commands are directed towards making a spite move and change. In a math problem, the symptoms of a problem would be "Oh, this number is not the number I was supposed to get," which, in many cases, isn't too helpful (except in cases where the number is negative or imaginary, then could give a potential clue to the misstep) in figuring out where something went wrong. However, seeing the sprite completely stop or keep moving in the same direction on hitting a wall - rather than turning around and moving in the opposite direction, is a lot easier problem for many people to go "Oh, I think the problem is in this step." Over time, that kind of work makes you a lot more careful in planning and following processes, which is a key concept in math. Also, when things do go wrong, it makes troubleshooting logic a lot easier. On another note: I wonder how the programming push is going to affect the next generation, in terms of how they interact with computers? When you look at the generation that's 30+, it seems like there's a huge problem with adopting technology (I'm not talking about everyone 30/+, but the ones that if you heard about them falling for a phishing scam, you'd say "I could see that."). Even to a large amount of teenagers and young adults, the computer is still a "magic box" that makes stuff happen. In both groups, technology has been present throughout their lives, but its penetration and spread hasn't been as deep and wide as the kids growing up today. On top of that, many high schools are just now getting computer classes that are more than Microsoft Office. To see kids grow up engulfed in technology, as well as seeing them actually being educated on how it works, is a strange thing. They're touching smartphones and tablets before learning how to read, then when they do, they're being taught the fundamentals on how they work. Maybe it will make them more aware of how they interact with technology, but could also change the interaction all together. App developers are rare (in terms of the whole population, rather than the technologically inclined) today, but in the future, everyone might be some sort of developer. When people see a problem or have an idea in the future, they might not go "It would be cool if someone made this," but they might just build it themselves. There won't be kids writing the distance formula in their TI-84, but might be developing an entire math suite in their phone - tailored to what they need and like. They won't be making the next Wolfram Alpha or anything, but they will be doing some pretty cool stuff. Maybe full scale programming won't catch on, but scripting might. The scripting features in programs like Photoshop and Microsoft Office might not be some thing tucked away that rarely gets used, but could be something that most people in the future interact with (Or hell, maybe they'll pick up LateX). Some sort of formatting or process needs to be done over and over? Just write a script that does the bulk of the assignment over and over. You need to present some data every week at work? Enter it in Excel, hit a button, and go grab a cup of coffee. On top of that, I wonder if tech education is going to change how kids deal with privacy and the policies that try to take it away. It could be that growing up surrounded by Facebook and Twitter might push them to put their entire lives on the Internet. However, proper education might make them question why exactly an app needs access to their location. I think a proper education in programming should have a lesson in privacy built in. Maybe have a kid build a web app, then show them how save the user's progress, while at the same time show exactly how much information you can get from somebody's browser. Show them how to build an Android app, and explain the permissions that have to be requested in order for certain things to work. On one hand, they might just ignore everything, but in an optimistic scenario, we could see a generation that isn't easily fooled into giving up their information. It's really great to see stuff like this. It makes me wish that I was taught some sort of programming growing up.
I actually have a friend who was using AutoHotKey to automate stuff in Excel, just because he was never taught it could be programmed. Now the curriculum in the UK is shifting even further away from that "How to use Office" mentality, it'll be a challenge to get students exploring these programs and learning about them. The thing is, kids have always been messing around with these things, it's just now they're actually being told they can do it and are being given the support and tools to do so. The challenge is making this stuff engaging to those who have no interest at all in it, even when you present it as a way to be creative or do something for themselves.