User Tools

Site Tools


2013:design_is_a_joke

Back to proposals-2013

Title: Design’s a Joke
Proposer: chris_simons
Type: Interactive Workshop
Duration: 90 minutes
Description: Christmas Cracker jokes are corny but fun. But I heard a different take on Christmas Cracker jokes on a local radio station phone-in last year. Instead of asking the Christmas Cracker question, the contestant is given the punch-line, and they have to guess the build-up question. It’s great fun, not least because, of course, there are many possible build-up questions. Afterwards, I began to think: isn’t this like software design? The designer is given the requirements (the punch line), has to come up with a design (the build-up) and then has to evaluate the design (finding the best among the possibilities). So design’s a joke, because you’re given the punch line of the joke, yet you have to think up a design. This simple idea tells us a great deal about how we design and develop software. Attendees take away two learning outcomes: (1) design and development is all about generating possibilities and evaluating them, and (2) this can be supported by evolutionary computing.

Minutes 1 – 15: Welcome and Introduction, the attendees play the game “Reverse Christmas Cracker Joke” competing in small groups for the best build-up lines.

Minutes 15 - 30: Discussion – where did the possibilities come from? What is the space of possibilities? How is this relevant to software design and development? Discussion in groups, spokesperson presents findings.

Minutes 30 – 45: Discussion – how do we evaluate? How do we know when a possibility is good? How is this relevant to software design and development? Discussion in groups, spokesperson presents findings.

Minutes 45 – 60: Presentation – how ‘generate and evaluate’ leads to software ‘evolution’. How this evolution can be simulated computationally as searching a space of design and code possibilities.

Minutes 60 - 75: Interaction - participants simulate the evolution of a small supplied software design example. Each workshop participant pretends to be an individual in the workshop 'gene pool'. The fittest individuals are selected as parents to breed; two parent individuals produce offspring that are different to the parents but retain certain fitness characteristics. The process is repeated (iterates) over many generations and we'll see what the eventual software designs look like!!

Minutes 75 - 90: Presentation: examples of how evolutionary computing has been applied to software design, and also the entire software development lifecycle.

Roger: not very keen
Asti - cute idea but no

2013/design_is_a_joke.txt · Last modified: 2016/06/11 14:05 by 127.0.0.1