Abstract
Pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, or code. Prior research indicates that pair programmers produce higher quality code in essentially half the time taken by solo programmers. Pair programming is becoming increasingly popular in industry and in university curricula. An experiment was run at North Carolina State University over a period of one and a half years to assess the efficacy of pair programming as an alternative educational technique in an introductory programming course. We found that the retention rate of the students in the introductory programming courses is equal to or better than that of the students in the solo programming courses. Most students show a positive attitude towards collaborative programming, and students in paired classes continue to be successful in subsequent programming classes that require solo programming. Pair programming also leads to a reduced workload for the course staff in terms of grading, questions answered and teaching effort.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agresti, A., Finlay, B.: Statistical Methods for the Social Sciences. Dellen Publishing Company, Collier Macmillan Publishers, Macmillan, Inc. (1986)
Baheti, P., Williams, L., Gehringer, E., Stotts, D.: Exploring Pair Programming in Distributed Object-Oriented Team Projects. In: Proceedings OOPSLA Educator’s Syposium, Seattle, WA (2002)
Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (2000)
Bevan, J., Werner, L., McDowell, C.: Guidelines for the User of Pair Programming in a Freshman Programming Class. In: Proceedings Conference on Software Engineering Education and Training, Kentucky (2002)
Cockburn, A., Williams, L.: The Costs and Benefits of Pair Programming. In: Proceedings eXtreme Programming and Flexible Processes in Software Engineering – XP2000, Cagliari, Sardinia, Italy (2000)
DeMarco, T., Lister, T.: Peopleware. Dorset House Publishers, New York (1977)
Ferzli, M., Wiebe, E., Williams, L.: Paired Programming Project: Focus Groups with Teaching Assistants and Students. North Carolina State University, Raleigh, NC CSC TR-2002-16 (2002)
McDowell, C., Werner, L., Bullock, H., Fernald, J.: The Effect of Pair Programming on Performance in an Introductory Programming Course. In: Proceedings ACM Special Interest Group of Computer Science Educators, Kentucky (2002)
McDowell, C., Werner, L., Bullock, H., Fernald, J.: The Impact of Pair Programming on Student Performance of Computer Science Related Majors. In: Proceedings submitted to the International Conference on Software Engineering 2003, Portland, Oregon (2003)
Nagappan, N., Williams, L., Miriam, F., Yang, K., Wiebe, E., Miller, C., Balik, S.: Improving the CS1 Experience with Pair Programming. In: Proceedings SIGCSE 2003 (2003)
Slavin, R.: Using Student Team Learning. The Center for Social Organization of Schools, The Johns Hopkins University, Boston (1980)
Slavin, R.: Cooperative Learning: Theory, Research and Practice. Prentice Hall, New Jersey (1990)
Thomas, L., Ratcliffe, M., Robertson, A.: Code Warriors and Code-a-Phobes: A study in attitude and pair programming. In: Proceedings SIGCSE, Reno, NV (2003)
Weibe, E., Williams, L.A., Petlick, J., Nagappan, N., Balik, S., Miller, C., Ferzli, M.: Pair Programming in Introductory Programming Labs. In: Proceedings Submitted to American Society for Engineering Education Annual Conference and Exposition 2003 (2003)
Weibe, E., Williams, L.A., Yang, K., Miller, C.: Computer Science Attitude Survey, North Carolina State University, Raleigh, NC CSC TR-2003-01 (2003)
Williams, L., Kessler, R.: Pair Programming Illuminated. Addison Wesley, Reading (2003)
Williams, L., Kessler, R., Cunningham, W., Jeffries, R.: Strengthening the Case for Pair-Programming. IEEE Software 17, 19–25 (2000)
Williams, L., Wiebe, E., Yang, K., Ferzli, M., Miller, C.: In Support of Pair Programming in the Introductory Computer Science Course. Computer Science Education (September 2002)
Williams, L., Yang, K., Wiebe, E., Ferzli, M., Miller, C.: Pair Programming in an Introductory Computer Science Course: Initial Results and Recommendations. In: Proceedings OOPSLA Educator’s Symposium, Seattle, WA (2002)
Williams, L.A.: The Collaborative Software Process PhD Dissertation, Department of Computer Science. University of Utah, Salt Lake City (2000)
Yang, K.: Masters Thesis: Pair learning in undergraduate computer science education. In: Computer Science. North Carolina State University, Raleigh (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nagappan, N. et al. (2003). Pair Learning: With an Eye Toward Future Success. In: Maurer, F., Wells, D. (eds) Extreme Programming and Agile Methods - XP/Agile Universe 2003. XP/Agile Universe 2003. Lecture Notes in Computer Science, vol 2753. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45122-8_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-45122-8_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40662-4
Online ISBN: 978-3-540-45122-8
eBook Packages: Springer Book Archive