The University of Kent, Canterbury, Kent, CT2 7NZ, T +44 (0)1227 764000
Dividing the Sheep from the Goats
Richard Bornat, Professor of Computer Programming at the University of Middlesex, gave an interesting and at times contraversial seminar entitled Dividing the Sheep from the Goats in which he claimed that the population fell into two categories: those who had an aptitude for computer programming and those who had not. A test has been developed which identifies to which of these two categories a person belongs. The results of the application of this test has led to the conclusion that it is pointless to teach those with no aptitude, and that there is no need to teach those with aptitude.
This work is a result of collaborative research performed by Richard Bornat and Saeed Dehnadi, a Research Associate also from the University of Middlesex. The reserach involved giving the test to two student cohorts from the university who were taking a programming course. The test was given to the same students at intervals throughout the course and the results compared with their progress as measured by course assessment and exams.
Learning to program is notoriously difficult. A substantial minority of students fails in every introductory programming course in every UK university. Despite great academic effort, the proportion has increased rather than decreased over the years, and despite a great deal of research into teaching methods and student responses, we have no idea of the cause.
It has long been suspected that some people have a natural aptitude for programming, but until now there has been no psychological test which could detect it. It is not correlated with age, with gender, or with educational attainment; nor is it correlated with any of the aptitudes measured in conventional 'intelligence' or 'problem-solving-ability' tests.
We have found a test for programming aptitude, of which we give details. Remarkably, we can predict success or failure even before students have had any contact with any programming language, and with total accuracy. We present statistical analyses to prove the latter point. We speculate that programming teaching is therefore ineffective for those who are bound to fail and pointless for those who are bound to succeed.
Professor R. Bornat
Professor R. Bornat giving his seminar