If you wanted to teach computer science by rolling it into mathematics curriculum, I would be all for that. Throw in some basic discrete and you would have yourself a very solid class that could be reasonably taught by teachers you can already find in school districts. Make it one of the elective mathematics, like it should be.
Required coding courses though? That would be like a required shop class. I wouldn't support anything of the sort because it won't be useful to people who are interested in it (it would be far to basic) and it would almost certainly poison the minds of the people who have no interest in it.
Furthermore, I think your perception of what highschool course loads are like is very out of date. When I was in highschool in the early 00's we didn't have required sciences, required history courses, or even required maths (with the of a single algebra course, for those who had not already taken it). You would have to take N out of M offered science courses, but you could easily get through highschool without taking any particular line of class. For example, I have never taken a single course on biology. Not in highschool, not in university. Why? I had no interest in it. Similarly, while I did take history courses, I could have just as easily not taken them and loaded up with other sociology courses instead.
So in answer to your query, "What makes programming so special" I am going to answer with a question: What makes you think programming is so special? Can you really claim that programming is more essential than a rudimentary grasp on physics, chemistry, or the human body? It makes perfect sense to make it a track to choose, but it has absolutely no business being required. It is not special.
> Furthermore, I think your perception of what highschool course loads are like is very out of date. When I was in highschool in the early 00's
I graduated in '03.
It was required that I have X credits in the sciences, Y credits in language, etc. I took biology, but dodged physics. But there was no way I could choose not to learn language. No way I could choose not to take science classes.
> What makes you think programming is so special? Can you really claim that programming is more essential than a rudimentary grasp on physics, chemistry, or the human body?
I'm amazed I need to point this out on Hacker News.
Everyone in the developed world needs a computer to be competitive. Not understanding how it works – and I do not believe you can understand the workings of a computer fully without a rudimentary grasp of logic and control flow – leaves you at the mercy of people who do.
Between your mobile device, your desktop, and all the mechanisms that control your data, there are few other disciplines with a more 24/7 impact on your life than computing.
Understanding the human body is probably the only other subject approaching the same 24/7 impact, and in the United States, we acknowledge this with a physical education requirement.
You know, everyone, in the developed world or otherwise, has a human body... You know what you really need to compete though? Professional writing courses. Forget coding, just teach kids how to write a proper business proposal. I don't see anyone suggesting that they be mandatory though.
Since we are on HN after all, I think you should keep in mind that it is very easy to ascribe undue importance to what you know and do. You can code, so it is inconceivable to you that anyone could succeed without that. I am sure accountants are just as baffled that any adult can get through life without accounting classes. Should we make those mandatory too?
But by all means, make a required "computer skills for the workplace" class that actually targets what computer skills the majority of students will actually need.. It will be a complete waste of time for everyone involved.
You seem to have missed my broader point. Regardless, school resources are certainly finite and it only makes sense to prioritize efforts based on need.
Youths in today's world only need to "understand how computers work" in order to use them in an academic sense not unlike we need to "understand how the human body works" in order to maintain one. Get the basic mechanics of use down and you're good to go. In the case of a computer that could be "touch here to facebook", in the case of a body that could be "wear a condom, listen to your doctor, and a caloric deficit will drop the weight."
Wait, so it isn't even worth prioritizing a field which heavily influences pretty much all of today's economy and the influence will only grow in the future. Your input about business proposals is certainly valid, but it dodges the issue at hand.
> it would almost certainly poison the minds of the people who have no interest in it
...what exactly do you mean by "poison the minds"? I think "rolling it into mathematics curriculum" is the best way to make a large portion of students averse to it! In my country, we had a pretty advanced chunk of probability and statistics rolled into the math curriculum - it was a disaster, even the teachers tried to skip it because they thought it ate away precioud time that could be spent delving deeper into calculus (yeah, we had what you in the US would call "college level calculus" put into the high school curriculum but that's a different story...).
...now, for example, if those probability and stats courses would have been a different course or maybe some kind of "workshop", maybe someone else besides the "math geeks" would have gotten something useful out of them! Lots of high school kids hate math, but if you chip away chunks of it and present it as something else they tend to love it. On the other side, if you want them to viscerally hate something, teach it to them as part of "math"!
>> it would almost certainly poison the minds of the people who have no interest in it
> ...what exactly do you mean by "poison the minds"?
Not the OP, but I think he's afraid that the level of education provided for coding will be like the level of education currently provided for english or math. How many people do you know who claim to hate classical literature? Many of those are probably because they were forced to churn through and regurgitate about grommets instead of just enjoying a book. How many people claim to hate proofs because they were forced to write down "a straight line is straight" a million times in basic geometry?
Required coding courses though? That would be like a required shop class. I wouldn't support anything of the sort because it won't be useful to people who are interested in it (it would be far to basic) and it would almost certainly poison the minds of the people who have no interest in it.
Furthermore, I think your perception of what highschool course loads are like is very out of date. When I was in highschool in the early 00's we didn't have required sciences, required history courses, or even required maths (with the of a single algebra course, for those who had not already taken it). You would have to take N out of M offered science courses, but you could easily get through highschool without taking any particular line of class. For example, I have never taken a single course on biology. Not in highschool, not in university. Why? I had no interest in it. Similarly, while I did take history courses, I could have just as easily not taken them and loaded up with other sociology courses instead.
So in answer to your query, "What makes programming so special" I am going to answer with a question: What makes you think programming is so special? Can you really claim that programming is more essential than a rudimentary grasp on physics, chemistry, or the human body? It makes perfect sense to make it a track to choose, but it has absolutely no business being required. It is not special.