Skip to content
Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

Why is a raven like a writing desk?

Thoughts both confusing and enlightening.

The Camel Has Two Humps

elbeno, 6 June, 200729 July, 2007

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.

Programming

Post navigation

Previous post
Next post

Related Posts

after an hour's fiddling…

29 September, 200529 July, 2007

Got GTK+/gtkmm projects compiling under Win32. Eclipse (CDT) doesn’t really know about pkg-config. So in order to get CDT to drive the command line correctly I had to put the `pkg-config –libs gtkmm-2.4` as part of a -l directive to the linker. It doesn’t work as just a link option…

Read More

Why programming is fun

8 July, 200629 July, 2007

This week I have been working with a colleague on optimising a piece of code. Last week, what we started out with (a first implementation) was taking over 80ms to run in my test case. We had confidence that the overall algorithm was the correct one for the job, so…

Read More

Concurrency in games

5 August, 20075 August, 2007

I’ve been programming next-gen consoles for a while now, and I have to say: it’s not getting any easier to write games to take advantage of multi-core systems. The conventional wisdom at my company is: writing multithreaded code is hard, so “ordinary programmers” should not be doing it – let’s…

Read More

Comments (3)

  1. sylvene says:
    6 June, 2007 at 4:03 pm

    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)

  2. elbeno says:
    6 June, 2007 at 5:16 pm

    I don't know what you mean by “things that the language wasn't supposed to do”.

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

  3. sylvene says:
    6 June, 2007 at 5:27 pm

    Neither do I. I'm not a programmer. :p

    I'm *baa* repeating *baaa* what he would say *baa*

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

Leave a Reply

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.

©2026 Why is a raven like a writing desk? | WordPress Theme by SuperbThemes