Pair Programming (Case Study 1)
Retaining Women through Collaborative Learning
At UCSC, pair programming research began in introductory courses and now has been expanded to advanced courses. The research also has included introductory courses at both San Jose State University and Cabrillo College, a two-year state community college.
Research results show that pair programming:
- Increases the percentage of introductory students (especially women) who declare a computer science major;
- Increases the number of students who remain in the computer science major one year later, as compared to their non-paired peers;
- Reduces the so-called “confidence gap” between female and male students, while increasing the programming confidence of all students;
- Leads to higher-quality student programs relative to non-paired students’ programs (a link to complete research results is provided below.)
Implementing the program can be as easy as simply telling students they can work with a partner if they want. However, it is more likely that faculty will require that students pair off and, therefore, that it will require more faculty time and resources to implement and manage the course. Preparation involves establishing guidelines and mechanisms to help students pair properly and to keep them paired. For example, students should take turns “driving the mouse.” In addition, effective preparation requires contingency plans in case one partner is absent or decides not to participate for one reason or another. In these cases, making it clear that the active student will not be punished because the pairing did not work well is important. Effective pairing attaches students of similar (though not necessarily equal) abilities to each other as partners; pairing mismatched students often can lead to unbalanced participation. Faculty must impress upon students that pairing is not a “divide-and-conquer” strategy, but rather a true collaborative effort in every endeavor for the entire project.
Some faculty have been concerned that this strategy enables students to “slack off” or receive grades higher than what they deserve because of the effort of their partner. Werner suggests that faculty avoid pairing very weak students with very strong students.
Like faculty, students also have concerns. They may have experience with poorly managed or implemented collaborations. When pairing is not required, applying pressure to partner up or offering extra incentives can help motivate students to pair, especially with advanced students. Some faculty members have found it helpful to require students to pair for only one or two assignments.
- Please see NCWIT’s Pair Programming-in-a-Box: The Power of Collaborative Learning, http://www.ncwit.org/pairprogramming.
- Research and implementation guidelines for pair programming: http://www.soe.ucsc.edu/~charlie/projects/pairprogramming
- Resources about agile education techniques: http://wiki.csc.ncsu.edu/education
- Smith, K., Sheppard, S., Johnson, D., Johnson, R. (January 2005). Pedagogies of engagement: classroom- based practices. Journal of Engineering Education, 87-101.
- Many web sites serve as portals for implementation of collaborative environments in higher education. Here is one: http://www.iasce.net/resources.shtml
- Stephens, J. (May 2004). Justice or Just Us? What to Do About Cheating. Carnegie Perspectives. http://www.carnegiefoundation.org/perspectives/perspectives2004.May.htm
- Cockburn, A. & Williams, L. (2001). The Costs and Benefits of Pair Programming. In G. Succi & M. Maresi (Eds.), Extreme programming examined (pp. 223-247). Boston, MA: Addison-Wesley. http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
View related research:
View related case study: