On the “Learn to Code” Movement and Its Lies
medium.com
medium.com
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.
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 thinking preceeds technical mastery. Mastery in any skill (which is basically any applied knowledge) can be learnt by apprenticeship for a period of time.
It takes a jedi to train a padawan.