My very first teaching job was in a pair of elementary schools as a computer specialist. I had some notes from the teachers who had taught in the past but basically I was making things up as I went along. It was an interesting year to be sure and some things worked better than others. Overall I think I did a good job and both principals were sad to see me leave them for a high school opportunity.

One of the highlights on my teaching week while in elementary school was kindergarten. Picture 24 tiny little kids marching into a lab with 12 Apple II computers and one terrified new teacher wondering how he was going to manage things. How do kids who can’t read follow written directions? Do I have to tell each one what to do next on each little thing in the educational games I had set up for them to run? It turns out I didn’t.

Things worked out because kids are great. Kindergarten kids learn very quickly. They can even learn to read words like “rectangle” if they see them often enough. Now some learn quicker than others but I always had two children working on each computer. So an exciting thing I learned was that kindergarten kids help each other. They seem to work together better than most adults I know. They taught each other and liked it. Having two children using the same computer was never a problem for me with kindergarten students. Never. Kids can get along fine and work as a team. Who knew?

I was reminded of this experience when I read a report from Microsoft Research India about some work they have been doing there. One of the huge problems in India and lots of other places is a lack of resources. Many schools just can not afford a computer for every student. So what they did was to connect several mice to each computer. This way several students could use the same computer at the same time in a collaborative learning experience. The results were surprisingly good.

Of course this requires some special software and you have to design programs to work this way. But it seems to me that this is a great step forward. I’m wondering how this might work in teaching programming. We already talk about extreme or pairs programming. What would it be like for several students to each have a mouse on the screen? Chaos or would they work together and teach each other? An interesting idea to think about.