Computer Science alongside other subjects is a hell of a lot more impactful than most liberal arts classes. I rarely meet non-engineers (or people with some sort of technical training) who know how to think analytically worth a damn. Introducing CS would certainly help this.
And this argument is basically decrying the semantics of "Learn to code". Yes, the term is ambiguous. That's not the point. I believe it's called using layman's terms.
My husband and I have teamed up to teach our daughter (11) how to program, and while it may put us in the "bad parent" category in some people's eyes, learning to program is not optional. Fortunately, she seems to be interested and enjoying herself.
There are a whole host of valuable skills that learning to program teaches you; critical thinking and analytical skills, problem solving and planning, organizational skills, collaborative skills, reading comprehension and writing skills (documentation).
These are all extremely important skills to have and they all seem to be severely lacking from her public school education, where the emphasis is on teaching to the test and following a less than ideal Common Core curriculum. Going to school isn't actually teaching her how to think to any serious degree.
It's teaching her how to intuit answers to standardized questions, certainly a useful skill to possess, but she also needs to be tackling problems too big to just "do" so that she can understand the thought processes and develop the methods to do complex thinking.
Actually being fluent in a programming language and writing a piece of software is something that I see as a sort of side effect; useful, certainly, but not the main goal.
Are there other ways to foster this sort of "big picture' thinking? Sure, but programming is what we know, so it's the vehicle we will use to teach her the skills we feel she needs to have, but isn't getting.
Good in coding is an effect of good and clean analytical thinking on problem solving. All men in my family are mechanic (13yo the youngest) while i'm a programmer and it shows that both world use the same problem solving techniques and some familiar technical mindset.
Good thinking preceeds technical mastery. Mastery in any skill (which is basically any applied knowledge) can be learnt by apprenticeship for a period of time.
And this argument is basically decrying the semantics of "Learn to code". Yes, the term is ambiguous. That's not the point. I believe it's called using layman's terms.