NotesFAQContact Us
Collection
Advanced
Search Tips
Peer reviewed Peer reviewed
Direct linkDirect link
ERIC Number: EJ895877
Record Type: Journal
Publication Date: 2010
Pages: 14
Abstractor: As Provided
Reference Count: 36
ISBN: N/A
ISSN: ISSN-1547-9714
A Novel Approach for Collaborative Pair Programming
Goel, Sanjay; Kathuria, Vanshi
Journal of Information Technology Education, v9 p183-196 2010
The majority of an engineer's time in the software industry is spent working with other programmers. Agile methods of software development like eXtreme Programming strongly rely upon practices like daily meetings and pair programming. Hence, the need to learn the skill of working collaboratively is of primary importance for software developers. During computing education, this may be particularly important for the stronger students as they may be the ones who least desire to work with other programmers. Further, programmers need to develop the ability to comprehend the programs developed by others and, also, to write programs that can be easily comprehended by other programmers. Increasing dependence on large amounts of Free and Open Source Software (FOSS) makes this even more crucial. Until a decade ago, one weakness in the typical undergraduate experience was the failure to train students to work with other programmers--in fact it was often considered a form of cheating. Over time, researchers have the need to find a way to allow students to work together within clearly defined boundaries that would be an acceptable practice. A traditional form of pair programming based on the driver-navigator model has been successful in many introductory computer science courses. Its success is noticeable in better performance in computer science assignments, increased team work in and outside class, enhanced learning, and decreased frustration (Cliburn, 2003; Domino, Collins, & Hevner, 2007; McDowell, Werner, Bullock, & Fernald, 2002; Nagappan et al., 2003; Sfetsos, Stamelos, Angelis, & Deligiannis, 2009; Thomas, Ratcliffe, & Robertson, 2003; VanDeGrift, 2004; Williams & Kessler, 2003; Williams, Yang, Wiebe, Ferzli, & Miller, 2002). However, pair programming has its weaknesses too (Bevan, Werner, & McDowell, 2002, Cliburn, 2003; VanDeGrift, 2004). Most of the experiments have the shortcoming of not having been able to create a convincing need for collaboration. Such a situation results in students sitting together, sharing a machine, but not actually collaborating with each other. The objective of this paper is to propose a new framework for implementing pair programming in the classroom. Our model of collaborative pair programming is based on Dillenbourg's set of four conditions to set up an active collaborative context. We have transformed the traditional form of pair programming to suit this framework. Students in a pair first work independently and then work on a combined task that brings together their individual tasks. The framework has been experimented within a real classroom environment for the course "Introduction to Computer Programming" offered to first year engineering students. All the inexperienced programmers were allowed to form pairs, while all the experienced students worked as solo programmers. This was done primarily to compare the performance of experienced versus inexperienced programmers at the end of the course. This comparison helped identify if such an implementation of collaborative pair programming proved advantageous for students. The experiment was well monitored and regulated by four instructors and teaching assistants at any given time. Observations throughout the five months of the course and results from various examinations and feedback mechanisms showed that such a framework for collaborative pair programming enhanced problem solving skills, improved quality of work, and increased trust and teamwork. Final examination results for inexperienced programmers showed a marked increase in their performance when compared to results of experienced programmers. In conclusion, the new framework proved successful by helping inexperienced programmers perform at par with their experienced peers. (Contains 4 tables.)
Informing Science Institute. 131 Brookhill Court, Santa Rosa, CA 95409. Tel: 707-537-2211; Fax: 480-247-5724; Web site: http://JITE.org
Publication Type: Journal Articles; Reports - Evaluative
Education Level: Higher Education
Audience: N/A
Language: English
Sponsor: N/A
Authoring Institution: N/A