skip to main content
article

Improving the CS1 experience with pair programming

Published:11 January 2003Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. DeMarco, T. and Lister, T., Peopleware. New York: Dorset House Publishers, 1977.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. Slavin, R., Using Student Team Learning. Boston: The Center for Social Organization of Schools, The Johns Hopkins University, 1980.Google ScholarGoogle Scholar
  7. Slavin, R., Cooperative Learning: Theory, Research and Practice. New Jersey: Prentice Hall, 1990.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. Williams, L. A., "The Collaborative Software Process PhD Dissertation," in Department of Computer Science. Salt Lake City, UT: University of Utah, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Improving the CS1 experience with pair programming

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGCSE Bulletin
      ACM SIGCSE Bulletin  Volume 35, Issue 1
      January 2003
      406 pages
      ISSN:0097-8418
      DOI:10.1145/792548
      Issue’s Table of Contents
      • cover image ACM Conferences
        SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science education
        February 2003
        444 pages
        ISBN:158113648X
        DOI:10.1145/611892

      Copyright © 2003 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 January 2003

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader