Since electronic computing was invented in the 1950s, there is one thing that has remained persistently the same. Statistics from Jeff Atwood’s Coding Horror state that between 30% and 60% of every university computer science department’s has an intake that fails most programming courses and thus will never be programmers.
We may try and attribute that fail to the different modes of learning, teacher expertise, language and even the IDE used, but still the divide remains; some people just cannot learn how to program.
Researchers have now devised a test meant to distinguish those with a bone to program and those who don’t. The test comprises of a series of questions based on three main areas: assignment and Sequence, Recursion/Iteration and Concurrency. And Yes, they are in that order.
In its early stages, the test was issued twice to a group of students, once before any instruction at all and then again after three weeks of class. Amazingly, even after lessons, those who had failed the first test, still could not do any better in the second test; further affirming the theory that not everyone can learn to program.
On this side of the world, most programmers belong to the vocational group of developers who learn just enough Java/C#/C++/PHP to get the job done, using whatever tools Microsoft/SUN micro-system hands down. But with time, this interest often withers. This new test will probably even determine if a user should find it worthwhile learning Java or not and not just because someone rumoured that Java developers are now in high demand.
Maybe it is time we focused more on what we as individuals can offer the job market, as opposed to what the market requires of us.