I have some experience in extreme programming Java projects, and 'pair programming' could be a good idea in some cases...
In XP the pair switches the keyboard often (every 20 minutes) so both members stay focused. The one typing concentrates on the code he's writing, the other one helps him with that lines of code, but also thinks about how that little part fits into the whole. The advantage is that you make less errors (even typo's, they're immediately cought by the non-typing pair-member) and that you learn faster. Mostly, one of the two pair-members knows (a little) more about the particular piece the pair is writing, and he explains this to his pair while coding.
I don't know the last advantage will come out in a beginner's Java course, because both pair-members are not familiar with Java, but with a mixed (different levels of experience) group, it's definately a great advantage. A disadvantage in your case could be that 'lazy' students rely on their pair and don't type or think much, and don't learn much in that way. And that's hard to check as a teacher... There will also be a lot of noise in your classrroom, because a pair should constantly be talking to eachother.
Maybe your third option is better for a beginner's course. If you make teams of 3-4 individual programmers, they also need to communicate a lot, but each member gets responsability for his own piece of the app. So every student needs to write the code for his part on his own. This way of working also forces your students to agree on the general design as a team, design common interfaces and they'll encounter some of the problems of working together on a Java project, just as in real life... So maybe option 3 would be better than the second for a beginner's course!
You could also bring the pair programming into option 3, and tell the students that when coding a difficult piece (or something they're totally unfamilir with, they can ask a team member to pair program for a while...
When I teach UML, I make teams of 3-4 students to 'design' some application, they learn a lot from and about working together and it's the closest you'll get to the real life thing IMHO.
Let us know how it goes ! Good luck !
[ December 23, 2004: Message edited by: Jef Cumps ]
[ December 23, 2004: Message edited by: Jef Cumps ]