The Camel Has Two Humps

I’ve just been reading an interesting paper on teaching programming. First, the data regarding rates of attrition on computing courses is startling. Between 30% and 60% of the total CS intake fails the very first programming course!

The paper’s authors postulate 3 programming hurdles to be negotiated:

  • sequencing and assignment
  • iteration and recursion
  • concurrency

Surely one would think that the first of these is no hurdle at all (the concepts are part of everyone’s everyday life) and yet it is! From personal experience, I would say actually that recursion is quite a significant mental way past iteration, and I think many programmers never get that far, let alone to the hurdle of concurrency.

They further posit 3 groups of pupils:

  • those who accept and work with the system of rules that is ultimately meaningless
  • those who attempt to see meaning where there is none
  • those who refuse to work with meaningless rules

Of these, only the first group succeeds as programmers. The other two flounder.

3 comments

  1. My brother maintains that he managed to write programmes to do things that the language wasn't supposed to do, then he went to school, learned computer programming and couldn't do it anymore. i.e. he learned to work with the systems of rules.

    (http://livejournal.com/users/sylvene)

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.