It’s great to see recent initiatives such as the Year of Code, the Raspberry Pi foundation, and many others. They are helping get people, especially young people, be curious about what happens “under the hood” of computers, and try things out for themselves.
If you haven’t seen the Moshi Pong coding game/lesson at yearofcode.org it’s well worth a look. It’s main purpose is to introduce the key principles of coding: logic, events, getters, setters, objects and attributes, etc., etc. all with immediate gratification – make a change to the code and the game behaves differently.
Another aspect I really like is the visual, block-based approach to editing the game – tacitly, this is doing requirements analysis, user experience (UX) design, and visual organisation of needs. We see these as crucial elements of the analysis work we do with businesses when they are transforming processes and gathering requirements for new systems.
We recommend to clients that at least the main user journey and key process flows should be walked through on whiteboards, paper or similar software before even thinking about detailed specs and coding.
Our experience is that time invested early is rarely wasted, and usually identifies several “gotchas” and opportunity to add really valuable new features to the end result.