The interesting thing here is that either people formed a coherent mental model of what the computer might be doing, or they didn’t. Those that did, even if they formed the wrong mental model at first, went on to do well at programming. Those that didn’t programmed very poorly, and got even worse as the subject matter grew more complex.
I wouldn’t be surprised if the same divide operated here—those who reason rationally about the world in some way can be taught to do better. Those who essentially don’t form that kind of mental model of the world at all essentially can’t easily be taught to do better.
I remember a paper on teaching programming that seems relevant to the question.
http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html
The interesting thing here is that either people formed a coherent mental model of what the computer might be doing, or they didn’t. Those that did, even if they formed the wrong mental model at first, went on to do well at programming. Those that didn’t programmed very poorly, and got even worse as the subject matter grew more complex.
I wouldn’t be surprised if the same divide operated here—those who reason rationally about the world in some way can be taught to do better. Those who essentially don’t form that kind of mental model of the world at all essentially can’t easily be taught to do better.
Already discussed here: http://lesswrong.com/lw/76x/is_rationality_teachable/4qq9 (see especially my comment on replication)