A conversation with Ned Gulley about the MATLAB Programming Contest


In this week’s ITConversations podcast, Ned Gulley — who is the organizer of The MathWorks’ semi-annual programming contest — reflects on the lessons he has learned about how to design problems that elicit the optimal mix of cooperation and competition.

In a 2004 ACM paper Ned wrote:

Our contests resemble a wiki in the sense that anyone can modify any of the code on display. As with wikis, the result is a fertile meeting of the minds, and a model for successful collaborative design.

Players enjoy the social and collaborative aspects of the contest, and they value the ideas and techniques they learn as they participate, but they are also intensely motivated to compete and win:

In the Matlab contest your performance is measured objectively, quickly and often, on a level playing field, against real competitors. Pride in your programming prowess is quickly confirmed or corrected. There is egotistical gratification in seeing your name at the top of the board, and there is crushing disappointment when your pet algorithm fails or is beaten by a better programmer.

I hate to talk about it in terms of winning and losing but I can’t come to any other conclusion – a major part of the fascination is about outwitting the competition, if only for a moment. Somewhere on your website the contest is described as turning “MATLAB coding into a highly entertaining full-contact sport.” I think that says it better than I could.

And yet, while everyone wants to win, other kinds of rewards have emerged as well. For example, one player who had employed a disruptive strategy of code obfuscation in an earlier contest became an influential contributor of lucid comments in a subsequent contest, and was praised for his efforts.

Can we harness these dynamics in a broader educational setting? Ned thinks we can:

I’m picturing Mrs. Jenkins’ third period class versus Mrs. Jenkins’ fourth period class — it’s not hard to set these things up once you’ve got the scaffolding in place, and as we move into more service-based software I think we will see this approach move into middle school and beyond.

To get there, we’ll need to empower Mrs. Jenkins to create games that engage students in this kind of productive play. It’s a worthy goal.

6 Comments

  1. Hi Jon
    Wow! I loved the concept of a problemscape as a flower garden…. I wanted to abstract it one more level to the development of problemscapes as a problemscape…. and to extend the planting of a seed metaphore.

    Also, there is a seed that I have been thinking about for some time…. and am unsure where to plant. Could you advise me?

    It has to do with the idea of teaching spelling through on line ( and also real ) trading card games.

    Trading card games, such as Pokemon, Yu Gi Oh and Magic the Gathering, sweep the playgrounds every so often.

    The themes are about a card having an attack and defence value, and various properties that alter the way they can be used in battle.

    I started thinking about how boys in particular ( mine are now 9 & 11 ) are prone to find the “teachable moment” in the context of a battle.

    I was thinking of each card being a word.
    Words can be split into phonetic sounds.
    A phonetic sound is typically spelt with 1 , 2 ,3 or sometimes 4 letters ( graph, digraph, trigrah ) Also they have properties such as verb, noun , adjective etc.

    The game rules could be devised so that the attack & defense values of a word could be worked out from the phonetic composition and spelling of the word. Other powers could be infulenced by the properties of the word.

    My dream is that the game would be developed as a collaborative effort between lots of kids, teachers and software developers, under some kind of open license.

    Best wishes
    Kirsten Greed

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s