Why is programming a basic skill? To me, programming is more of a trade than a basic skill. People get by just fine without knowing a thing about programming. When students can't read, write, and do simple mathematics, then they have trouble later in life.
I believe logic and basic computing (this is a folder, that is a keyboard, etc.) are necessary. In fact, these form the foundation for programming later, but how could programming be considered a skill comparable to reading or writing?
For the same reason being able to write English[1] well is: If you can use English effectively, you can better influence the people you have to deal with. If you can write code effectively, you can often find ways to better influence the computers you have to deal with.
[1] (Replace 'English' with any natural language of your choice, if you want.)
Programming is not as ubiquitous as you or I would like to think. In fact, I would say that most people use less than 10% of a computer's capacity at work or home (not to say they don't max out memory or tax the CPU, but that they don't 'unlock' the computer to its potential).
Also, if you can tune engines effectively, you can better influence the cars you drive, and most people use one every day. Shouldn't auto shop be up there with programming?
I don't say that to knock auto shop. I want to reinforce the idea that 'programming' is not as important a skill as reading, writing, and math. Programming is a trade skill that builds on the concepts of reading, writing, and math. It's an advanced skill, not a basic one.
Education isn't about making people average. It's about trying to elevate them a bit above. I wouldn't be averse to adding auto shop in (except for the practical matter that modern cars aren't as friendly to shade-tree mechanics as cars of decades ago) but I still think computer programming is more important.
It's more important because, frankly, being able to use a computer really well means you can do things the companies in charge don't want you doing. Disabling DRM, making backups of the software you own, blocking virus-laden ads, and so on, all the things I won't put up with being unable to do but the average person just kind of suffers with, like a cow in a thunderstorm unable to find shelter.
Education isn't about making people average. It's about trying to elevate them a bit above.
I wish this were so, but if you look at most education systems, they seem to be designed with a goal of ubiquitous mediocrity. There's a lot of focus on bringing everybody up to minimal standards of not totally sucking, but anybody who isn't in the bottom 1/3 of the class is usually neglected.
At least, that's the way I remember it, and the way politicians usually talk about it. Remember "No Child Left Behind," where the goals were all based on improving education for the worst-performing students?
(It wasn't all bad. I got so bored that I learned a lot of computer stuff, which turned out to be a spectacularly good use of my time.)
I believe logic and basic computing (this is a folder, that is a keyboard, etc.) are necessary. In fact, these form the foundation for programming later, but how could programming be considered a skill comparable to reading or writing?