Pair Programming in an Educational Setting

For the most part, students do pair programming in much the same way as do practitioners. In this section, we discuss some pair programming practices specifically used with students and cite results of using pair programming in educational literature.

Practices Specific to Education

The teaching staff may allow the students to choose their partners [Cicirello 2009], [Jacobson and Schaefer 2008], or the teaching staff may proactively form student pairs that are most likely to work well together. Those that select pairs may use heuristics to guide them in forming pairs most likely to be effective. One study indicates that heterogeneous pairs formed of a male and a female had high quality and more creative solutions [Mujeeb-u-Rehman et al. 2005]. A study of 58 undergraduates indicates pairs work best if they rate themselves similarly when asked about their open-mindedness and level of responsibility [Chao and Atli 2006]. Another study of 54 undergraduates demonstrated a positive correlation between conscientiousness and assignment scores and between “openness to experience” and test performance based upon the Five Factor Model [Salleh et al. 2009].

A large empirical study of more than 1,350 students was conducted to examine factors the teaching staff can use to proactively form pairs that are most likely to be compatible [Williams et al. 2006]. The study indicated that most often (93% of pairs) students report being compatible with their partners. The results also indicated that the teaching staff can use one or more of the following criteria to form pairs that are more likely to be compatible:

  • Pair students together who have a similar skill level, as measured by computer science and/or total grade point average (qualitative results by Toll et al. [Van Toll et al. 2007]; Grant Braught et al. [Grant Braught and Wahls 2010]; and Sennett and Sherriff also support having students of similar skill level [Sennett and Sherriff 2010]).

  • Pair a Myers-Briggs sensor with a Myers-Briggs intuitor.

  • Pair students together who have a similar work ethic, determined by asking students to provide a number from 1 to 9, where a 1 indicates the student works hard enough to just barely get by and a 9 indicates he works hard enough to get the best possible grade.

Pair rotation is done less frequently in an educational setting than in industry. Most often pairs stay together for the duration of an assignment (generally one to three weeks) [Srikanth et al. 2004]. Some educators prefer pairs to remain consistent for a whole semester [McDowell et al. 2002].

Results of Using Pair Programming in Education

Studies have shown that pair programming creates an environment conducive to more advanced active learning and social interaction, leading to students being less frustrated, more confident [Salleh et al. 2009], and more interested in IT [Berenson et al. 2005], [Layman 2006], [Layman et al. 2005], [Nagappan et al. 2003], [Slaten et al. 2005]. The benefits to pair programming contrast with the negative aspects of traditional solo programming pedagogies, which can leave students feeling isolated, frustrated, and unsure of their abilities. Pair programming encourages students to interact with peers in their classes and laboratories, thereby creating a more communal and supportive environment. Students of the current Millennial generation place particular value on collaborative environments [Oblinger 2003]. Furthermore, the collaboration inherent in pair programming exposes and reinforces students to the collaboration, teamwork, and communication skills required in industry. These benefits appear to help increase retention in computer science, particularly among women [Carver et al. 2007], [McDowell et al. 2003], [McDowell et al. 2006], [Williams et al. 2003]. In general, pair programming provides a way to mirror the “laboratory model” that is common practice in natural science fields such as chemistry or physics [Williams and Layman 2007].

Students who work in pairs tend to produce projects of higher quality and have higher course passing rates [Braught et al. 2008], [McDowell et al. 2006], [Mendes et al. 2006], [Williams et al. 2003], [Xu and Rajlich 2005], even when students pair program in a distributed manner (see the next section, ) [Hanks 2005]. Paired teams in the introductory class are successful in future classes that require solo programming [Jacobson and Schaefer 2008], [Williams et al. 2003]. A study of undergraduate students at Pace University found a positive correlation between out-of-class collaboration and student achievement based on student projects and examination grades [Joseph and Payne 2003]. In an experiment involving undergraduates at Dickinson College, a liberal arts college, students with lower SAT scores were able to achieve higher lab scores when using pair programming [Braught et al. 2008].

Pair programming also benefits the teaching staff. Less grading is required due to half the number of assignment submissions. A pair of students can oftentimes figure out the low-level technical or procedural questions that typically burden the teaching assistants in the laboratory [Hanks 2007], [Williams et al. 2002] and the instructor’s office hours and email inbox. Finally, there are fewer “problem students” to deal with because the peer pressure involved in pair programming encourages all students to be active participants in the class. Students become concerned about jeopardizing their partner’s grade and work harder on assignments, often getting started earlier than if they worked alone (though not all students report starting earlier [Simon and Hanks 2007]).

Alas, there are some costs to implementing pair programming. For students, there are two major costs that persist without apparent recourse. A small segment of students (approximately 5%) will always desire to work alone [Williams et al. 2006]. Most often, these are the top students who do not want to be “slowed down” by another student and who do not see the benefit in teaching others. Another problem for students is the need to coordinate schedules when pair programming is required outside of a classroom or laboratory setting.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset