Wednesday, August 09, 2006

patterns for a game making course

I think the design patterns developed by Joseph Bergin (Fourteen Pedagogical Patterns, is just one of numerous papers by Bergin) for an object oriented Computer Science course could be adapted to a course in Game Making.
What is a design pattern?
A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in object-oriented systems. It describes the problem, the solution, when to apply the solution, and its consequences. It also gives implementation hints and examples. The solution is a general arrangement of objects and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context.
Note the richness (detailed elaboration) of a design pattern. They contain a lot of information, both conceptual and practical. I'd see the rich practical structure of design patterns as very useful in generating and guiding discussion. This could be facilitated through a wiki format. I've had a look at some of the design pattern websites and so far the Joseph Bergin papers seem to be the most useful and applicable to a secondary school teaching situation.

Would anyone else be interested in collaborating in a wiki which, starting from the Bergin paper, developed some design patterns for a Game Making course?

Here is my (brief, yet to be documented) argument for going down this path:
  1. Design pattern theory has excellent credentials
  2. Resources are available
  3. It provides a framework (scaffold) for teachers who want more structure in a game making course - and in turn for students completing such a course
  4. It's a step forward from the present ad-hoc approach
  5. Design patterns are accessible and helpful to students, it would not swamp them with irrelevant or inappropriate theory
  6. It could help facilitate a dialogue where alternative design tools could be compared and evaluated (eg. patterns, flowboards, Event Progress Diagrams, UML). What design tools are suitable / optimal / age appropriate for game development?
Here is a simple example (abbreviated from the Bergin Fourteen Pedagogical Patterns paper)
TEST TUBE (also known as: Try It and See)

Students can answer their own "What if ..." programming questions

Problem / Issue: Students often ask questions they could answer for themselves ... they need to learn to be effective in answering their own questions about programs.

Forces: Students can chew up a lot of time asking low level questions and can become frustrated if they don't receive answers quickly

Solution: Provide students with small programs and get them to use the computer to probe for the answers to "What happens if ..."

Special Resources: Student questions can be a good source of these sorts of exercises. The instructor can take a student question and turn it into an exercise.

Example instances:

The meaning of for loops can be explored in a sequence of exercises in which the initialisation, test and increment portions of the loop are varied.

When a while loop exits and when it does not can be explored.

No comments: