4 ms·
You may be interested in "The Camel Has Two Humps": http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf http://www.eis.mdx.ac.uk/research/PhDArea/saeed/p
by bediger 15y ago
You may be interested in "The Camel Has Two Humps": http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf and other work by Saeed Dehnahdi: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ http://www.eis.mdx.ac.uk/research/PhDArea/saeed/
He thinks that only about a third of the populace can learn programming at all, and that may be the difference between teaching someone who knows the basics of programming vs teaching programming to a non-programmer.
- 0x12 15y agoThat paper has done a lot of damage. I also think that if you write a paper like that, that it should include a lot of qualifiers as to what you think you've discovered and what research might be done in order to validate/disprove your findings. Broadly binning a large part of the population as far as a fairly basic ability is concerned (the ability to instruct another entity, which is the essence of programming) based on some extremely flawed tests is not the way science should be done. Try the 'test' they give to people on a population and then try this test on another population of similar size and observe the difference: move 10 to a move 20 to b move contents of b to a The fact that programmers use '=' in a way that non-programmers would never use it should not be part of any 'aptitude' test. That's just syntax and it would give anybody with even a cursory knowledge of programming a huge advantage. Even just the assumption that statements are to be executed in a particular sequence greatly affects the outcome of tests like this and you may have to specify such a thing up-front if you expect people to be on a level playing field. Note that I'm not saying that the conclusion of the paper is wrong, I simply object to the hidden assumptions behind the design of the test. Removing those assumptions would be pretty tricky thing to do with 100% accuracy, and in the end the conclusions reached in the paper might still stand (but I doubt that they would be the same in magnitude).
- aangjie 15y ago///Even just the assumption that statements are to be executed in a particular sequence greatly affects the outcome of tests like this and you may have to specify such a thing up-front if you expect people to be on a level playing field. I was guilty of forgetting this in a programming interview and gave an answer from algebra.Needless to say interview went downhill very soon.
- william42 15y agoBut the predictor isn't whether the testee gets these problems right. The predictor is whether the testee uses a consistent mental model for the problem--that is, someone who interprets "a=b" as "move contents of a to b" will end up programming as well as someone who does the converse, but not someone who picks and chooses without being sure.
- 0x12 15y agoYes, I read the paper. Try coming up with a 'consistent mental model' that works with random execution sequences. Then try again for one that works backwards. And so on. At best this test determines which people are going to be 'easy' to teach programming. But just like sales start at 'no' teaching starts when the subject is having problems, not when it's easy.