Abstract

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.

Highlights

  • Originating from industrial settings where collaborative software development is the norm, pair programming has come recently in the centre of interest of computer science educators, in an effort to transform the solitary activity of learning to program into a collaborative problem solving process

  • All Virtual Pair Programming (VPP) students were given a brief introduction to pair programming technique and instructed to switch regularly roles between driver and navigator and respond constructively to feedback, in order to keep an objective view about the direction in which the program is going and look for the strategic implications of the developing code

  • VPP teams had in all cases better development times, comparing pair effort with that of individuals, an average of 57% more effort was needed from pairs for writing the same amount of loc

Read more

Summary

INTRODUCTION

Originating from industrial settings where collaborative software development is the norm, pair programming has come recently in the centre of interest of computer science educators, in an effort to transform the solitary activity of learning to program into a collaborative problem solving process. As well as test-driven development and refactoring, lies at the core of extreme programming, a discipline of software development based on values of courage, communication, feedback, and simplicity. Pair programming especially is a practice in which two programmers work at one computer, collaborating on the same design, algorithm, code or test. Sitting side-by-side and assuming the roles of “driver” and “navigator” or “observer” the two programmers discuss about the current implementation, possible alternatives and errors, searching for a better algorithm to use, optimising parts of the code, creating functional tests for every piece of code and finding better functions or libraries to call. The developers switch their roles, so that both develop code

WHY TO USE PAIR PROGRAMMING?
VIRTUAL PAIR PROGRAMMING
Issues and solutions for VPP support
Previous experiments on VPP
COURSE ORGANIZATION
THE EXPERIMENT
RESEARCH HYPOTHESES AND METRICS
Code productivity
Code quality
Students’ performance
Students’ attitude and perceptions
VIII. CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call