"Computers are ubiquitous in modern life. They offer us portals to information and entertainment, and they handle the complex tasks needed to keep many facets of modern society running smoothly. Chances are, there is not a single person in Ars' readership whose day-to-day existence doesn't rely on computers in one manner or another. Despite this, very few people know how computers actually do the things that they do. How does one go from what is really nothing more than a collection - a very large collection, mind you - of switches to the things we see powering the modern world?"

I had the same experience in high school comp science as well; students would completely fail to see obvious connections, just as they do in mathematics.

With still higher level languages, this problem will be lessened, but it does seem as though a lack of desire or possible inability to think logically does exist for what may be the majority of people.

If they can't/won't learn algebra, how are they to learn coding?

Organizations like the Khan Academy shows that children, of all stripes, are willing and can learn algebra given the right teaching environment.

I don't think thinking logically is as fundamental to programming as it is thinking algorithmically. I've known many intelligent people, much more intelligent than me. But they can't program for shit. Logic is a red herring in programming and is really only a problem "in the small". Programming happens "in the large".

Organizations like the Khan Academy shows that children, of all stripes, are willing and can learn algebra given the right teaching environment.

I don't think thinking logically is as fundamental to programming as it is thinking algorithmically. I've known many intelligent people, much more intelligent than me. But they can't program for shit. Logic is a red herring in programming and is really only a problem "in the small". Programming happens "in the large".

Then, if this particular art is lost on the intelligent, and requires more algorithmic thinking, how is that to come about?
More importantly, how do you make people actually *want* to program?
Why is it that most are happy to use computers for leisure, but are repulsed by the notion of understanding them more deeply?

Just like the other sciences, there seems to be a significant desire to avoid anything to do with actual analytical thinking.