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. An experiment was run to assess the efficacy of pair programming in an introductory Computer Science course. Student pair programmers were more self-sufficient, generally perform better on projects and exams, and were more likely to complete the class with a grade of C or better than their solo counterparts. Results indicate that pair programming creates a laboratory environment conducive to more advanced, active learning than traditional labs; students and lab instructors report labs to be more productive and less frustrating.
- Bevan, J., Werner, L., and McDowell, C., "Guidelines for the User of Pair Programming in a Freshman Programming Class," presented at Conference on Software Engineering Education and Training, Kentucky, 2002. Google ScholarDigital Library
- Cockburn, A. and Williams, L., "The Costs and Benefits of Pair Programming," in Extreme Programming Examined, G. Succi and M. Marchesi, Eds. Boston, MA: Addison Wesley, 2001, pp. 223--248. Google ScholarDigital Library
- DeMarco, T. and Lister, T., Peopleware. New York: Dorset House Publishers, 1977.Google Scholar
- Ferzli, M., Wiebe, E., and Williams, L., "Paired Programming Project: Focus Groups with Teaching Assistants and Students," North Carolina State University, Raleigh, NC CSC TR-2002-16, 2002. Google ScholarDigital Library
- McDowell, C., Werner, L., Bullock, H., and Fernald, J., "The Effect of Pair Programming on Performance in an Introductory Programming Course," presented at ACM Special Interest Group of Computer Science Educators, Kentucky, 2002. Google ScholarDigital Library
- Slavin, R., Using Student Team Learning. Boston: The Center for Social Organization of Schools, The Johns Hopkins University, 1980.Google Scholar
- Slavin, R., Cooperative Learning: Theory, Research and Practice. New Jersey: Prentice Hall, 1990.Google Scholar
- Williams, L., Kessler, R., Cunningham, W., and Jeffries, R., "Strengthening the Case for Pair-Programming," in IEEE Software, vol. 17, 2000, pp. 19--25. Google ScholarDigital Library
- Williams, L., Wiebe, E., Yang, K., Ferzli, M., and Miller, C., "In Support of Pair Programming in the Introductory Computer Science Course," Computer Science Education, vol. September, 2002.Google Scholar
- Williams, L., Yang, K., Wiebe, E., Ferzli, M., and Miller, C., "Pair Programming in an Introductory Computer Science Course: Initial Results and Recommendations," presented at OOPSLA Educator's Symposium, Seattle, WA, 2002.Google Scholar
- Williams, L. A., "The Collaborative Software Process PhD Dissertation," in Department of Computer Science. Salt Lake City, UT: University of Utah, 2000. Google ScholarDigital Library
Index Terms
- Improving the CS1 experience with pair programming
Recommendations
Improving the CS1 experience with pair programming
SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science educationPair 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 ...
First year students' impressions of pair programming in CS1
ICER '07: Proceedings of the third international workshop on Computing education researchPair programming, as part of the Agile Development process, has noted benefits in professional software development scenarios. These successes have led to a rise in use of pair programming in educational settings, particularly in CS1. Specifically [6] ...
First-year students' impressions of pair programming in CS1
Pair programming, as part of the Agile Development process, has noted benefits in professional software development scenarios. These successes have led to a rise in use of pair programming in educational settings, particularly in Computer Science 1 (CS1)...
Comments