Why oh why? Think about the children!
Amongst all the guff (interesting and otherwise) I haven't seen anything that states WHY schoolkids need to learn to program.
O.K. - you grew up with a BBC Micro and it never did you any harm - well, look, you're posting on here aren't you.
But kids today need to learn to use consumer electronic devices which have already been programmed - so learning Office Automation suites and web browsers will equip them to function in their long term employment.
As more and more resources are available mainly or only online it is vital that all school kids know how to browse the web, fill in forms, write emails.
General literacy would be a great help.
Phones, games consoles, video players - kids don't need training on these; they are the trainers.
Assembler, C, C++, Python?
WTF?
Why do they need to know this?
I grew up before PCs were invented, and landed in mainframe IT quite by accident when I needed a job after University and took a programming aptitude test. The rest is a rather murky history.
As an ITphile we had computers in the house when our kids grew up - and they played games on the Atari STE and then word processed and played games on the PCs running Win95 and NT4 Workstation.
Good marks in school, them days, if you did your work on a PC.
Copy and paste from various resources produced impressive projects as well.
Neither showed any particular desire to program nor was there any need for them to do this.
Although I can program (after a fashion) I haven't for a few years - I mean, why do I need to?
What problem is it solving for me?
Strangely, one child has sort of followed in my IT footsteps though the other certainly hasn't.
As far as I can tell neither has suffered from lack of opportunity to program at the medium to low level whilst at school.
I learned my programming as an adult, learning a number of different languages and technologies over the years, so you don't have to learn it at school.
You can learn programming at any age, when there is a need.
Reading, writing, managing money, health & hygiene, cooking - these are much more basic survival skills.
Woodwork, metalwork, electricity and plumbing, general DIY; these would not go amiss either.
O.K. - there is a need for people to produce applications for electronic devices but this is going to be market lead, and the vast majority of school children are not going to end up in this area. They are going to end up as users of electronic devices. What is the ratio of Android phone users to Android application developers?
I applaud anything which brings home the message that there are real bits of stuff inside the shiny cases and you can actually make them do stuff yourselves, not just use other peoples apps.
However I see this mainly as a platform for hardware experiments - where you can do something simple and see something interesting as a result,
Robots, control gear, spy cameras, hi-tech stuff you can make work yourself.
Printing "Hello world" on a screen (instead of typing it in your word processor) seems very lame. Far less interesting than posting something on Facebook, Twitter, whatever.
So I say again - why do they need to learn to program?
[Probably more productive to teach them Mandarin.]