Not everyone's a programmer

Coding Horror: Separating Programming Sheep from Non-Programming Goats:

"All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can [program], and those who cannot [program], each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don't believe this, but you will after you hear the talk. We don't know exactly how/why it works, but we have some good theories."

(Via reedit: joel.)

Here is a direct link to the original paper. I looked at the test script and all it tested was assignment. And they were not complex assignments that you might expect to see in a program that supports it. For instance, in Ruby, you can do this: a, b = c, d. Nope, nothing like that. Just plain simple a = b.

Some of you might be wondering why a test like that can actually measure programing aptitude. Here is my opinion on that.

I looked at the answer script. It does not only demand the right answer. Instead it assigns different categories for different answers. This would be the proper way to grade a test such as this. For instance, some people might prefer to do left to right assignment making the result of a = b being that b gets the value of a instead of the other way around.

I am going to read the draft of the paper later tonight. Any updates will be posted here.

Update: It seems that the survey was done only with 61 students. Hardly a conclusive figure I would say. And the paper is a bit too colloquial to merit much academic attention. Therefore, I do not believe that their postulation has been proven.

Update: Head over here for more discussion on the topic.

comments powered by Disqus