Sunday, February 13, 2011

Programming Play

This project is kind of similar to the Program a Person project I wrote a few years ago.

The main idea is to create a format for teaching programming through combining storytelling and object oriented code.

The participants in this project would be students/learners who don't know much about code, but are familiar with stories. Any age group could work. If there were participants who knew a bit more about programming, that would be great. This is also a great way to combine the disciplines of theater, writing and programming.

Everything that exists in the story has to be defined/instantiated/called as an object in the code.

(my syntax is sloppy below...)

Some objects would be:
theStage
theAudience
aCharacter
aHouse

For example, if the story were The Three Little Pigs, there would be calls for
theStage = thisStage
theAudience = thisAudience
aCharacter = littlePigOne aCharacter = littlePigTwo, aCharacter = littlePigThree, aCharacter = bigBadWolf,
aHouse = strawHouse, aHouse = stickHouse, aHouse = brickHouse
etc.

As the story develops/unfolds, the code would be displayed/highlighted/spoken to the audience. This could be be a line or block of code that is shown on a card. It could be shown on a display on a screen adjacent to the stage. It could also be spoken by a narrator (also an object instantiated above)

Actions would be defined by a line of code:
littlePigOne build stickHouse;
bigBadWolf printf "I will huff and puff and blow your house down";

The end result would be that participants would have a better knowledge of how code works, and could start to see the way programming applies to everyday situations.
This experience could be followed up by:
  • A more elaborate play programmed by participants
  • Type based programming projects
  • GUI based programming projects
  • Discussions of how various aspects of a program could be acted out
  • Allowing the language of programming to be used in conversation to explain how things work in the world

If you are interested in helping develop the idea, keep the conversation rolling. I have a teaching situation in Pembroke where we could test it out, or you may have a venue that you'd like to work with. I'm not aware of any other projects that are similar to this, but surely somebody has done something along these lines.

1 Comments:

At 7:50 AM, February 14, 2011 , Blogger Tom Conner said...

That's a pretty cool idea!

strawHouse = pig1.build(Materials.STRAW)

result = strawHouse.blow(Direction.IN)

I think it would be a useful way to teach, even if you didn't do an actual performance... just talking through what the code would be for a well-known story.... talking about different ways to model the story.

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home