Abstract
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). Specifically, McDowell et al. [2006] has shown that students using pair programming in CS1 do better in a CS2 class (with solo programming) than students who don't pair in CS1. This paper seeks to address a similar question, but from a qualitative, student-focused approach. How do students define, experience, and value the pair programming experience? How do they experience and value it compared to solo programming? Does pairing in CS1 impact their confidence in their abilities?
We report on semi-structured interviews with 11 subjects from two institutions where pair programming was used in CS1, and solo programming was used in the CS2. Many of the responses met our expectations; students get stuck less and explore more ideas while pairing, and believe that pair programming helped them in CS1. Other responses were more surprising. Students reported that when solo programming they were more confident and understood their programs better. Many students also said that they started work on their assignments earlier when soloing. Students also continue to use other students as resources even when working "solo."
- Hanks, B. 2005. Empirical Studies of Distributed Pair Programming. PhD thesis, University of California, Santa Cruz. Google ScholarDigital Library
- Hanks, B., McDowell C., Draper, D., and Krnjajic, M. 2004. Program quality with pair programming in CS1. In Proceedings of the International Conference on Innovation and Technology in Computer Science Education. Leeds, England, 176--180. Google ScholarDigital Library
- Katira, N., William, L., Wiebe, E., Miller, C., Balik, S., and Gehringer, E. 2004. On understanding compatibility of student pair programmers. In Proceedings of the Technical Symposium on Computer Science Education. Norfolk, VA, 7--11. Google ScholarDigital Library
- Margolis, J. and Fisher, A. 2002. Unlocking the Clubhouse: Women in Computing. MIT Press, Cambridge, MA.Google Scholar
- McDowell, C., Werner, L., Bullock, H., and Fernald, J. 2003. The impact of pair programming on student performance, perception and persistence. In Proceedings of the International Conference on Software Engineering. Portland, OR, 602--607. Google ScholarDigital Library
- McDowell, C., Werner, L., Bullock, H. E., and Fernald, J. 2006. Pair programming improves student retention, confidence, and program quality. Comm. ACM 49, 8, 90--95. Google ScholarDigital Library
- Melnik, G. and Maurer, F. 2002. Perceptions of agile practices: a student survey. In Extreme Programming and Agile Methods. In Proceedings of XP-Agile Universe. vol. 2418, 241--250. Google ScholarDigital Library
- Thomas, L., Ratcliffe, M., and Robertson, A. 2003. Code warriors and code-a-phobes: a study in attitude and pair programming. In Proceedings of the Technical Symposium on Computer Science Education. Reno, NV, 363--367. Google ScholarDigital Library
- Vandegrift, T. 2004. Coupling pair programming and writing: Learning about students' perceptions and processes. In Proceedings of the Technical Symposium on Computer Science Education. Norfolk, VA, 2--6. Google ScholarDigital Library
- Werner, L., Hanks, B., and McDowell, C. 2004. Pair programming helps female computer science students persist. ACM J. Educ. Resour. Comput. 4, 1. Google ScholarDigital Library
Index Terms
- First-year students' impressions of pair programming in CS1
Recommendations
Improving the CS1 experience with pair programming
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 ...
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] ...
Pair programming in CS1: overcoming objections to its adoption
In academic year 2005-06, the Bren School considered incorporating pair programming into CS1, primarily because of reports it increased students' satisfaction with the course and improved their performance in it. Though not denying its benefits, ...
Comments