Hear me out. I was full for this 'teach kids how to code' thingy. But I think we have got this all wrong. Heck we don't have the right kind of tools to teach kids how to code. In fact I have now realized that you can't and should not teach kids how to code. You rather must teach them how to solve problems. Math was supposed to deal with that, but unfortunately that turned out to be complicated symbol manipulation if…
After that the curriculum for the higher standards moved more towards the MSOffice, Lotus123 stuff which really bored me out, so i moved my interest to physics.
Incidentally i was drawn back to computers for playing games(not programming), students exchange lot of pirated games. My curiosity with the computer was back when one of the games was not working on my dads PC. I had to learn about exe, dll(apparently games needed many of these strange little files), Direct X, opengl, screen resolution, and lot more stuff.
Before i knew it, many of friends needed my help to troubleshoot their PCs, which game me lot of PCs to do my hardware/software experiments with :). And i gradually moved myself to programming again.
My final year CS projects was a warehouse management system using RFID and Java. From Logo to Java it took me 10 years, it may be a slow growth according to HN standards, but teaching kids the wrong stuff will really turn them away.