An academic paper has been generating quite a bit of discussion lately. It proposes an aptitude test to determine if you can be taught to program, based on the assumption that not everyone has an ability to learn and understand formal systems.
A bunch of people have linked to this academic paper, which proposes a way to seperate programming sheep from non-programming goats in computer science classes– long before the students have ever touched a program or a programming language:
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.
- Coding Horror has a nice summary and discussion of the paper
- “The camel has two humps” [PDF] draft copy of the paper
- More discussion on reddit here