Richard,
I have had exactly the same experience with my students.
Programming is the only ability I know of, where a bimodal distribution is
common. Egan collected some data on this about 20 years ago, but I know of
nothing more recent. I believe that tests of spatial ability are the best
predictors of success in programming; I think of this as the ability to
maintain a (multi-dimensional and dynamic) picture of the program in your
head.
The amount of variance explained by spatial ability is quite small,
however. I expect there are a whole series of factors here, because the
task of programming has a long series of steps to get to the final
product. This is a fascinating, important issue; I look forward to the
other replies.
Robert Rist
Computing Sciences, University of Technology, Sydney
PO Box 123 Broadway, Sydney, NSW 2007 Australia