You don't know Scheme if you think their differences are just syntactic. Hint: what about that whole prototype object sysytem?
You have to start simple with young children. Something has to happen relatively quickly to maintain engagement. Typing may not be fluid in most children still in single digit years. I suspect (but cannot prove) that if architectural ideas, and skills of 'debugging' and analysis are learned young, they will be able to learn more powerful languages and concepts later with less overhead.
Scratch (http://scratch.mit.edu/) is getting a lot of attention from teachers in the UK. The government recently scrapped the existing IT curriculum in schools and wants more programming taught in schools.
You have around 5 million children in schools between 5 and 11 years old. You have professional and well trained teachers but with variable skill sets, remember teachers teach everything to a single class in that age group. You have decent numbers of PCs/Laptops and some tablet use. The government wants all children to learn programming. What are you going to do?
I take your points, especially the one about hardware, but the government has decided that, indeed, programming of some kind will be taught in schools! The development timescale is next year or the year after, so these skills will be delivered by existing staff.
My point is: teaching environments like Scratch, or Web sites with visually appealing interactive content related to programming will be in demand. Watch the social stuff though, we have a big safeguarding agenda in the UK.
What does the government want to achieve with this program? Has it been done elsewhere (Im thinking India but its not the same, is it?)
You're right, visual appeal is key but I'd go lower and start with something physical, lego-like and kid-friendly, meant to filter for those who can, at that age, program something. Then work up thru scratch etc to actual coding. But the biggest problem will be to get the teachers used to teaching it.
Would like to read more about it, any links?
(the emphasis on basic computer skills probably represents the managerial response to the previous National Curriculim: skills development was ghetto-ised into ICT instead of word processing as part of English, spreadsheets in Maths &c)
If you want to go lower-level better to learn some assembly (or at least C) instead...
Agreed on assembly. Some beginners take exceptionally well to the "purity" they perceive in assembly (given that it's a good assembly language for a well thought out processor - a processor that doesn't physically exist could even be the best one).
Edit: Purity in the way that the crucial ideas are presented directly, and an intuitive understanding of primal computation can be gained directly.