@ Vincent:
I concur, further, one could go so far to say that HTML is more like punctuation than programming - though I believe that excellent grammar and language skills will help many future programmers when they deal with syntax in a computer language. Focus on the 3 R's is crucial for success as a programmer. Beyond just helping provide a strong framework within which to explain, attack a problem, and discuss it with others effectively, such focus on 'basic' skills repeated in many small steps along the way builds to way more than trying to teach someone 'how' to code 'properly'.
@keithpeter:
The sad thing is that these YoC people are the ones who sell (or at least hang out with those who do) code that make your "use once and mangle" scripts look like a "a considered process".
I think that the approach you outline is excellent, and quite frankly many smart kids who would otherwise not bother to learn could be exposed enough for them to see they can always learn the details along the way in the future as they work through a problem that requires computing.
Myself, I only really got going with actively programming as a considered process after I got frustrated trying to plumb together not quite complete libraries that did many great things, but not what I wanted, and not as efficiently. Once I started to think that I could do better, I became more discrete about the context of a problem or a solution and refused to accept solutions (particularly from myself) that were poor.
On the other hand, I also found that sometimes a simple generalization is more effective than a complicated, but computationally expensive slightly more precise filter in certain constrained autocomplete situations.