In support of student pair-programming

Industry, particularly those following the eXtreme Programming (XP) methodology [2], has popularized the use of pair-programming. The pair-programming model has also been found to be beneficial for student programmers. Initial quantitative and qualitative results, which will be discussed in this paper, demonstrate that the use of pair-programming in the computer science classroom enhances student learning and satisfaction and reduces the frustration common among students. Additionally, the use of pair-programming relieves the burden on the educators because students no longer view the teaching staff as their sole form of technical information. We explore the nature of pair-programming, then examine the ways such a practice may enhance teaching and learning in computer science education.

[1]  M. Chi,et al.  Eliciting Self‐Explanations Improves Understanding , 1994 .

[2]  Arthur Whimbey,et al.  Problem solving and comprehension , 1982 .

[3]  Margaret M. Recker,et al.  Learning Strategies and Transfer in the Domain of Programming , 1994 .

[4]  Richard L. Upchurch,et al.  In support of student process improvement , 1998, Proceedings 11th Conference on Software Engineering Education.

[5]  R.L. Upchurch,et al.  Integrating software process in computer science curriculum , 1997, Proceedings Frontiers in Education 1997 27th Annual Conference. Teaching and Learning in an Era of Change.

[6]  A. Bandura,et al.  Social Cognitive Theory of Organizational Management , 1989 .

[7]  J. Hayes,et al.  On the nature of planning in writing. , 1996 .

[8]  R. L. Dominowski,et al.  Metacognition and problem solving : A process-oriented approach. , 1995 .

[9]  Michelene T. H. Chi,et al.  Eliciting Self-Explanations Improves Understanding , 1994, Cogn. Sci..

[10]  G. Salomon Distributed cognitions : psychological and educational considerations , 1997 .

[11]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[12]  A. Bandura Self-Efficacy: The Exercise of Control , 1997, Journal of Cognitive Psychotherapy.

[13]  R.L. Upchurch,et al.  The acquisition of expertise in software engineering education , 1998, FIE '98. 28th Annual Frontiers in Education Conference. Moving from 'Teacher-Centered' to 'Learner-Centered' Education. Conference Proceedings (Cat. No.98CH36214).

[14]  Laurie A. Williams,et al.  Experiments with Industry's “Pair-Programming” Model in the Computer Science Classroom , 2001, Comput. Sci. Educ..

[15]  John T. Nosek,et al.  The case for collaborative programming , 1998, CACM.

[16]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[17]  Michael Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[18]  John R. Anderson,et al.  Skill Acquisition and the LISP Tutor , 1989, Cogn. Sci..

[19]  Watts S. Humphrey,et al.  Introduction to the Personal Software Process , 1996 .

[20]  Laurie A. Williams,et al.  The effects of "pair-pressure" and "pair-learning" on software engineering education , 2000, Thirteenth Conference on Software Engineering Education and Training.

[21]  P. Pirolli Effects of Examples and Their Explanations in a Lesson n Recursion: A Production System Analysis , 1991 .

[22]  Philip M. Johnson Reengineering inspection , 1998, CACM.

[23]  Laurie Williams,et al.  The costs and benefits of pair programming , 2001 .

[24]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.