I read an interesting article by James Bach where he did some pair programming with his sister, who is not a programmer. It worked quite well.
This got me thinking that it might be fun to do with my son, Max, who is 8 years old. He’s been bugging me to make a computer game with him for ages. I thought it might be interesting if I did the programming and he “paired” me. The very act of explaining what I was doing should help make it interesting for both of us. Also, the challenge of getting him to understand what was going on would impose an interesting kind of discipline to the task.
So our initial attempt went ahead using Processing. We have made some solid progress so far. There were a few interesting things that I did a little differently because I was doing it with Max:
- We made very small iterative changes that produced a visible result. This meant that we often made small changes and then ran the code to see the result. Max loved this and it certainly discouraged the kind of development where you change the world then run it and try to fix 300 bugs at once.
- The first version was a hacked together mess with global variables and terrible architecture. Then as I needed to reuse code, I introduced the idea of a function and we did tiny bits of refactoring as we went.
- I did a lot more explaining that I would have done with another programmer. Understandable. He’s eight.
It’s early days, but it will interesting to see how much progress we’ll make.
Update: here is a link to an early version.