How many computers is enough?

I found this interesting article that talks about the different ways that teachers use computers. One of the things it mentions is that most teachers think that the right ratio is one computer per student. Apparently if you get a group of students sharing a computer they start to talk about other things. I must admit that I've seen that myself. But I wonder if 1:1 is really best for teaching computer science, specifically programming.

One of the ideas behind "extreme programming" is pairs programming where two programmers work on the same computer at the same time. I think there are times when having each student work on their own computer is great. At the same time, pairs programming is one of those things I experimented with briefly as a teacher but would like to do more with. Have any of you used paired programming in your assignments? How did it go?

Comments (3)

  1. Travis Owens says:

    I was only able to give Paired Programming a chance when I was able to hire an intern for 3 months.

    Although he was a Java coder that I was showing .Net to, he was very sharp and picked up in only 2 weeks.

    When it comes to coding solutions that you have to figure out, paired programming was great. But when it came to simple mundane tasks, we’d seperate (2 desks in the same office) and work on our own little pieces.

    I can say without a doubt that I absolutely prefer paired programming when it comes to problem solving or creative tasks.

    And if I could, I would love to get two desks facing each other agaist a wall, with a large LCD screen and a KVM so we could switch the screen back and forth as a 2nd monitor and do paired programming from our desks.

    Unfortunetly the employee was only an intern and while I would have been able to get the funds for this project, I no longer work for that company.

  2. tzagotta says:

    My experience is the same as described by Travis – pair programming is better for some tasks than others, and to me it is clearly a mistake to do "all" programming this way.

    As far as teaching goes, I am not an expert, but my intuition would be to allow each student to have their own computer so that they can think and learn about the problem independently. The objectives of pair programming are coming up with optimal solutions and highest quality, which are not the same goals for when you are learning a new programming concept. Therefore, I don’t think that pair programming makes sense. An exception would of course be if you want to teach pair programming itself, i.e., collaborative problem solving.

  3. Travis Owens says:

    In my rant I forgot to address the initial question about 2 students per PC or not.

    I think early in programming, it might be better to have two students per computer. In provides an easy way to break the ice. If one student is having a problem he can lean on his partner as he learns coding 101.

    But I think quickly, students should have to work solo unless they have to do something extremely creative.

    Despite, XP techniques are generally considered a very good thing and it’s a shame if any serious Programming course doesn’t touch on the subject.

Skip to main content