re: Should All High School Students Learn Programming?
It's not programming that's important - it's learning. And we are abandoning learning, substituting a collection of (soon to be obsolete) technical manuals and a slide rule or a calculator or a desktop computer or a 'smart' phone or a tablet or a brain-driven whatever for the real thinking that can derive knowledge from scattered information. If we don't understand the tools we use they will use us - and we won't like it.
And in the same vein I beg to differ with jonten's comments on binary, octal and hex math as being 'totally useless .....and... confus[ing].' I, too, was a new math victim in the mid '60s and, as with any subject, a the teacher who doesn't understand the material can't help the students, either. I guess I survived some bad teachers - I'm sorry jonten didn't.
For me, something stuck and when the time came to make those seven segment LED displays work (circa 1974) that hex math came back like gangbusters - and has never left me - just as the logarithmic conversions related to the slide rules that seemed so arcane, important and useless at the time are still useful when I work with filters, power devices and RF.
As for HTML - I don't write raw HTML anymore but it sure is useful when trying to figure out why a web page doesn't look right - it's the pidgin language of the web, often used but never honored.
But to get back to education - the word 'mathematics' comes from the Greek root 'to learn' - it is a way of training the mind and is closely connected to the key liberal arts of grammar, rhetoric and logic. Add arithmetic, geometry, music and astronomy and you have the seven classical liberal arts that are the wellsprings of our Universities.
If we equate education with knowing where to look in the manual we are the poorer for it - and we will never be able to write the manual, let alone build the thing the manual is supposed to describe.
Two thousand years ago Titus Livius bemoaned the decline in the education and morals of the youth of Rome - and each generation before and since has done the same. Times change, what we think we know changes, but the essential functions of the human brain do not change and if we think a quick look at the current (or two versions back) manual and a few lines of the latest coding language are 'knowledge' we are in bad shape - learning, in its core, does not change, and it is the responsibility of all of us to learn all we can before time overwhelms us all.