Pair programming is a lightweight software development technique in which two programmers work together at one computer. In literature, many benefits of pair programming have been proposed, such as increased productivity, improved code quality, enhanced job satisfaction and confidence. Although pair programming provides clear pedagogical benefits, its collocation requirement and the limited time during a lab session are serious barriers in the full deployment and evaluation of this programming technique. This paper reports on a study that investigated the effectiveness of Virtual Pair Programming (VPP) on student performance and satisfaction in an introductory Java course where students worked collaboratively in pairs on homework programming assignments, using online tools that integrated desktop sharing and real time communication. The results of this study support previous research findings and suggest that VPP is an effective pedagogical tool for flexible collaboration and an acceptable alternative to individual/ solo programming experience, regarding productivity, code quality, academic performance and student satisfaction |