Yes,but not for kids. You won't teach any of these subjects to kids, even if they are better for logical thinking. But if you show them an interesting way to start programming,they will see a very clear connection between what is being said and what happens = logic. Then it can be extended later in life, but this article specifically targets kids.
And I have the exact opposite view to yours - I think there is not enough logic in our lives. Our society might be addicted to digital works, but it does not mean they understand how it all works.
Really? Why? We have been doing it for millenia.
That makes no sense. I've taken literature, I've read hundreds of books on my own. Most of them are full of illogical things. At best they are OK to teach morals, not logic.
Philosophy is closer.
Computer programming is pretty much pure logic and problem solving.
The only better way to teach logic is to teach logic.
> teaching agriculture or other physical goods producing craftsmanship to kids would make them better at real world challenges
Computers and code are real world, and they solve real world challenges.
Programming doesn't teach you cognitive biases. You don't become more aware of yourself by programming. You learn more about human logic by reading "Thinking, fast and slow" than by programming for your entire life.
Programming is very close to logic.
Of course, there are other fields that require logic and problem solving. Engineering, science, for instance.
It's a real shame that most people seem to look down on the trades as somehow being inferior to white collar work. This is what Mike Rowe has been preaching about for the past 4 or 5 years. Just listen to his TED talk [1].
[0] http://en.wikipedia.org/wiki/Tradesmen
[1] http://www.ted.com/talks/mike_rowe_celebrates_dirty_jobs.htm...
If they aren't then they will be unsuccessful as car salesmen. Apart from "how can I sell more cars?" there is "what is the optimal number of cars I can fit in my showroom?", "how shall I present my most profitable deal to its most likely demographic?", "which aspects of my communication skills can be improved?"...the list is endless. Point being there are logical challenges to be solved everywhere.
Not trying to be snarky, but what level literature classes did you take?
I was an English major for a few semesters and I found that there were a league of differences between an introductory course which was little better than reading something on my own (plus a professor's gospel, which we were asked to support or comment but never refute) -- and an upper-level course, which was more centered around research: diving inside of a text and an author, plumbing for patterns and arguments much like one would dive into JavaDocs.
"Say Kitty move right, Kitty move left and do this about 5 times." is not about logic. This logic, that you can teach with programming is only mathematical logic. "If a > b and a is negative then b should be negative". Real world logic does not work like that. There is not only 1's and 0's, blacks or whites. There are also shades of gray and reds, purples, blues. Some fractions, doubles.
Everyday you make many decisions. Some are easy yay/nay decisions, some are hard decisions like "what to wear today" or "Voting that candidate or this?" or "Should I ask her out, but what if it's too soon?". Many things affect them; Human interactions, weather conditions, light conditions, feelings... So many unknowns. Maybe just some luck? Murhpy laws?
We can not or have not yet deducted them into pure mathematical logic.
So giving kids programming as logical thinking aid would help, but maybe in a wrong way. It would teach them an illusionary version of logical thinking where everything is 1 or 0.
Coding only makes you better micro managers, "thinking of efficient ways to make idiots do things you like".
Also teaching agriculture or other physical goods producing craftsmanship to kids would make them better at real world challenges. Modern society seems to be run by digital arts but it's just an illusion of how we live.