The Fifth Element or What Elements Are Correlated With CS Success and Does It Matter? After a long search a colleague says that the only 'predictor' of computing ability seems to be Autism, and that only with a low correlation (60%, whatever that means). But in our experience of teaching students with various disabilities, including mild forms of Asperger's, we find that even this is all over the map: One student was an amazing programmer but could not finish assignments because the temptation to always add more was so high, another could not see past tiny details that became fixations. Another could not generalize past results to new slightly different situations. Another could easily do the work, but was bored and uninterested.

So it seems that this element Au is not the gold that it would seem to be, yet no other elements have turned up to predict success.

My observations over 4 decades have been that many people can learn to do tasks involving computers which amount to configuration or customization within a limited domain, but that conceiving of algorithms or new data types is not going to come to them easily. (And if work or school is far too hard, one will not be successful.) In fact, a lot of my early programming career was devoted to converting tasks from programming to customization, just so that we could free up our programmers to do the complex stuff. What causes or indicates this difference in people - some easily learn programming, others not? Is there another element at stake, like Intelligence? But there is no definition or agreement on that either...

I am thinking that 'real' programming ability is a "rare earth", and not something widely found, yet the modern world seems to require increasing numbers of this material (so many jobs going unfilled, projects failing, etc.) If we cannot dig it up, or transmute it from other material (schooling) or find a substitute, then what can be done? This site itself seems to be faltering from lack of participation, which suggests that Teachers are unusual also. Can they and their students be mass-produced?
As I indicated in my other question, I have found that there are always a few students who don't seem to get it.  This leads me to suspect that there may well be some small number of persons who are so disadvantaged that it may be effectively impossible for them to become strong programmers.
However here are a few words of cautions:

Even if this is true, what of it? The fact that I have not figured out how to teach Johnny how to code does not necessarily mean Johnny is incapable, and I am still obligated to keep trying to find new ways to reach him.  If, in fact, he really is incapable, I will ultimately fail, but I have no way to distinguish between him and Samantha, who is entirely capable, but has yet to have some key piece of information click into place.

The number of people should be quite small.  For me it has run around 5-10% of students.  I work with a &quot;gifted&quot; population, so that number might be a little smaller than would be found in other populations, but it shouldn't be wildly different.  As you have pointed out, general brightness is a poor indicator.
If you're finding that &gt;25% of your students are seriously struggling, then there are additional factors beyond &quot;student ability&quot; that you need to be examining.