Hello!

We run an after school classes program in Barcelona, Spain. Where we teach kids from age 4-15 "programming" or computational thinking.

Depending on age group there are different tools, and starting with the really young ones, we use tools like Hopscotch and other simpler coding apps, when we use technology. And even more fun is to learn about coding not even using any tech. So then we revert to using pen/paper/strings and ourselves, programming each other is a fun thing to do, and you can debug the code in group, and learn to understand how computer operates, and how to give orders.

Once the kids get slightly older, we use to go straight to scratch, (this is the first stop we tend to go to regardless of age if anyone is new, just to grasp concepts) This will not take to long if the kids are older than 10.

But even from 6 years of age we've seen enormous potential in using scratch, kids love it, it's visual in the output, super versatile in what you can do (we get blown away by the kids all the time). And you can indeed build very complex things with scratch, as well as you can produce a pong game in matter of minutes.

Main take away, if you want the kids engaged, get them super comfortable in Scratch, and get them to understand problem solving using computational thinking, rather than go straight to the browser and manipulate the DOM, that's not learning kids how to code, thats like peeking and changing values, not really getting to the core of programming.

Once the kids are comfortable in understanding that one thing can be solved in more than 10 ways, and that no real way is the right way (except if it is). Than make an introduction to text based programming, either looking inside scratch code, or by looking at something in the visual spectrum, like processing, this is a great first step and good jump from scratch. And it's easy to build on top of this and move into javascript.

When I'm mentioning age groups it's only if they have zero prior knowledge about coding, we have 6 years old that program as good as 12 years old but the 6 year old kids have been doing it for a year or more and the 12 year olds are just a couple of weeks into classes.

So it's also about checking the temperature on knowledge. Once you start moving up the ladder on text based programming, it's important to understand how to keep the vast majority interested, and not just the .consoleLog(); persons interested. Keep in mind that programming comes in many shades, and not everyone is hard core math nerd loving, but still can be terrific problem solvers, if given the right tools to do so.

I would say the biggest take-away for us since starting KidsHackClub.com is that make sure it's fun, do not indulge in long demos, or make complex things, and show of big projects, it wont get the kids into coding, it will scare them away. So start small, and build up as time goes, and make things that are visual, no-one enjoys staring at lines of intigers counting in the console, sorry peps, it's kids from the touch generation, they have played with phones and tablets since they where born.

Would love to chat more, just hit me up on twitter @LinusEkenstam or @KidsHackClub and we can also do email, but ping me on Twitter and we can hook up.