RE: offered a programming club
Ok, I don't know what age the kids were but I beleive anyone dismissing Scratch as a learning aid to introdcutory programming is either elitist or ignorant. Scratch gives kids a chance to develop skills in problem solving and communicating ideas, essential skills for any software development and many other areas. In my experience (I run a Code Club at a primary school, 10-20 kids depending on weather/what else is happening) it works well and those kids have no trouble in moving onto python as they progress. Kids starting with python tend to struggle more as they are battling arcane rules of syntax AND problem solving at the same time.
Whether you consider this real programming is irrelevant, they aren't coding buisness rules that a mega corparation depends on or control systems for an aircraft. They are learning. Is "dragging and dropping" a few blocks together to pilot a rocket around the screen really any different from using logo to move a turtle about or even a BigTrac? Do people really think that physically typing a move command teaches anything more than dragging a block that has the word move written on it?
Scratch is a first step for normal kids, for it to be as accessible to every student it has to be conceptually intuative and a bit of fun always helps. It's certainly not best suited for those who like many of us here that were taking video recorders apart and writing machine code for z80s. Without accessible learning strategies coding will remain a niche skill, only those who would naturally discover it will continue to do so, others will be put off at the frustration of cryptic error messages due a semi-colon missing at the end of a class (c++) or wrong indentation (python).
Many people often state they should use X or Y language, occasionally citing that that language is desirable in industry. My first programming was basic on a zx81 before I started lower level coding. I was writing basic programs on paper over 14 months before I got my first computer (parents could not afford one when I first asked for one as an xmas present). Presumably I should be scoffed at and it pointed out that using basic was a waste of my time, I should have used my time learning something more practical. I've discussed this more than once on here, but learning to develop software is not about learning a languages syntax but learning to solve problems AND communicate your solution.
> We need better courses and the teachers able to teach them in place for this to work.
Yes we do, what is apparant however that relying on people happy to turn down a well paid career and teach is not going to give you the best choice of candidates in sufficent quantities. Having good intentioned but essentialy random lessons centered around what a software developer beleives to be important will unlikley to be any better than a teacher with no real idea of the subject but who knows how to teach. Something like Code Club helps fill the gap, it provides education in a well thoughtout and structured way, the teachers become involved and you get the useful contributions from both parties.
If people reading this do think teachers need a hand teaching this stuff please consider running a Code Club. Note, apart form running a code club I have nothing to do with the organisation other than being registered with them and using their materials, I certianly do not speak for them, the above is my opinion.