Mental Model Consistency As Predictor Of Programming Aptitude?
It has long been suspected that some people have a natural aptitude for programming [...]
We have found a test for programming aptitude, of which we give details. We can predict success or failure even before students have had any contact with any programming language with very high accuracy, and by testing with the same instrument after a few weeks of exposure, with extreme accuracy.
Despite the enormous changes which have taken place since electronic computing was invented in the 1950s, some things remain stubbornly the same. In particular, most people can’t learn to program
[I]t rapidly became clear that despite their various choices of model, in the first administration they divided into three distinct groups with no overlap at all:
- 44% used the same model for all, or almost all, of the questions. We call this the consistent group.
- 39% used different models for different questions. We call this the the inconsistent group.
- The remaining 8% refused to answer all or almost all of the questions. We call this the blank group.
We did not interview our subjects to determine anything about their group membership, so we do not know whether students chose consciously or unconsciously to follow one strategy or another, nor how conscious choices (if any) were motivated, nor what any particular choice meant to a subject who made it. We have no information about how group membership correlates with earlier education, employment experience, age, sex, marital status or indeed anything else.
[...] Remarkably, it is the consistent group, and almost exclusively the consistent group, that is successful [at programming].
There is a test for programming aptitude, or at least for success in a first programming course. We have speculated on the reasons for its success, but in truth we don’t understand how it works any more than you do. An enormous space of new problems has opened up before us all.
Quoted on Sun Sep 16th, 2012