I think there's some refinement needed with this.
Also, full disclosure, the only classes I ever failed were typing - twice with the latter being at the collegiate level. Oddly, it was chat that made me able to type. On the various tests, I tend to be up in the 85 wpm with 100% accuracy. However, if I'm doing well and have an app running in the background, I've peaked over 100 wpm with a drop of about 5% in accuracy but it goes in spurts. The latter is *only* true if I'm typing what I want to type and using an app running to detect the rates. The 85 wpm is when I'm taking one of the tests.
However, I have a point... I'm getting there...
I went to a preparatory school, it was a boarding school, and I actually went there because my behavior was rather poor and I was "gifted" according to the school system. My parents were not wealthy. But, at that school, we had HP 5100s (or maybe 5900) which was a neat programmable calculator with a paper (not punch) card reader, magnetic strip card reader/writer, plotters, TV output, internal storage, and the likes. This was the late 1960s.
I'm not kidding - I have a point!
We had terminals and a time share with one of the colleges. That would actually get us mainframe access. Dartmouth was connected to MIT which was connected to Harvard, etc... We had a computer lab, observatory with telescope, and even a private alpine ski slope though that had a tow rope lift back then. It has a chairlift now. I'd like to point out that this was really not that ritzy a school but one of the oldest private boarding schools in the US.
I'm getting to the point... I swear!
The thing is, I absolutely hated computers. I hated typing. I hated a dumb terminal. I hated that they didn't *do* anything unless you made them. I thought they were pointless, stupid, and for lazy people. Then I went on to become a mathematician, even getting my Ph.D in Applied Mathematics, and (as I've surely explained in enough detail) I went on to model traffic "on a computer." Except, I still kind of hated computers. I learned to program, pretty much on my own, as an extension to my studies and then my career. I am a horrific programmer but I'm persistent and eventually it works.
I promised you a point... Here it is...
See, I programmed because I had to and I love computers now. I own an obscene number of computers but I'm just getting back into programming since around the start of the year. What I don't understand is why (beyond the obvious of removing the value of programmers by dumbing it down to the lowest common denominator) they're pushing everyone to learn to code. They're not learning to code, not really. They're learning to pass a test, complete a project, and say that they know how to program.
Has everyone forgotten about the Law of Diminishing Returns? This is going to end up being a now-devalued skill that's filled by incompetent people who think that a few courses in school makes them an actual programmer. They'll increase supply, sure. They'll not be any good. How about letting the people with the desire or aptitude decide to learn? Who gives a shit what their gender or color is? If they're intelligent and want to learn, teach them and teach them well.
The people who want to code can learn to code. Teach them computer operating basics, maybe a year of CS fundamentals in middle school, and then continued courses for those who actually have the desire and skills to perform. If someone needs to learn to program, or wants to, they'll do it. I know, I had to. Just like typing, I finally had cause to learn and no amount of special equipment, righteous indignation, or access to quality teachers motivated me learn to type. The results are more than acceptable for my needs.
Teach the damned kids what they need to know and give them the chance to learn what they want to learn. This idea of using school as a way to model society is a tired experiment. Stop pressuring kids to conform to some cookie cutter standard. Stop devaluing the people with actual skills. Stop trying to manipulate culture. The Law of Diminishing Returns is real and applicable in so many places. This? This is how you end up with dispassionate people turning out shit quality code. This is how you perpetuate a myth that "everyone" can do it. No, they can't. Let me be the first to raise his hand and say he codes like ass. Do you want me coding your health information system? Me either.
I am not one but I know damned well what a good programmer is. I had the honor of working with some very capable, passionate, knowledgeable, and creative programmers. (They fixed my bad code - I hired them to do things that I simple could not do.) Do you really want to see what happens to the industry when it's reduced to the lowest common denominator and not worth rewarding the skilled people well enough to select that as a career? 'Cause I suspect this is how you get that.
Note: Those are all a generic "you" and not you personally. Also, yes, I know I'm probably preaching to the choir but you've got good insights so I figured I'd mention it to you. Either way, I told you I had a point! Also, I'm also not gonna proofread that. If there are any mistakes, blame it on the new owners. Whisplash is to blame.