Abstract: |
Pair programming is a computer programming technique where two programmers share one computer for software development. When applied in an educational context, pair programming has been reported as an effective teaching method, mainly improving student satisfaction, retention rates and program quality. Several systems have been developed to cover the need for pair programming over distance. We present the features of such systems including their advantages and weaknesses, and we examine if these systems eliminate known issues of pair programming, such as unequal participation. Finally, considering the limitations of current systems of distributed pair programming and taking into account common difficulties encountered by novice programmers, we propose adaptation strategies for supporting student collaboration in a distributed pair programming environment. |