Evaluating Pair-Programming for Non-Computer Science Major Students

The ubiquitous nature of software has resulted in many non-computer-science (NCS) major students taking courses in computer programming. The appeal of learning computer programming for this cohort may be diminished, given that they do not usually have an initial desire to become expert programmers. This, coupled with the difficulty of learning computer programming, means that efforts to heighten their engagement with/learning of, programming skills are required. Paired programming is an approach that has been hypothesized as increasing computer science students' attendance and performance. The study presented here reports on a controlled study investigating the impact of a pair-programming approach to teaching computer programming to NCS majors. The results indicate that pair programming has a positive impact on student attendance, particularly for weaker students. While a comparison of the paired programming cohort and a traditional lab cohort is not statistically significant with respect to performance, there are definite trends which suggest that pair programming may increase the number of weaker students that succeed in the programming module. These trends are re-enforced by qualitative feedback from the participants.

[1]  Lucas Layman,et al.  Eleven Guidelines for Implementing Pair Programming in the Classroom , 2008, Agile 2008 Conference.

[2]  Laurie A. Williams,et al.  On understanding compatibility of student pair programmers , 2004, SIGCSE '04.

[3]  Charles E. McDowell,et al.  Guidelines for the use of pair programming in a freshman programming class , 2002, Proceedings 15th Conference on Software Engineering Education and Training (CSEE&T 2002).

[4]  Jeffrey C. Carver,et al.  Increased Retention of Early Computer Science and Software Engineering Students Using Pair Programming , 2007, 20th Conference on Software Engineering Education & Training (CSEET'07).

[5]  Christine Elizabeth Reading Recognising and measuring engagement in ICT-rich learning environments , 2008 .

[6]  Joyce J. Elam,et al.  Reversing the landslide in computer-related degree programs , 2010, Commun. ACM.

[7]  Emilia Mendes,et al.  Investigating pair-programming in a 2nd-year software development and design computer science course , 2005, ITiCSE '05.

[8]  Laurie A. Williams,et al.  Improving the CS1 experience with pair programming , 2003, SIGCSE.

[9]  Charles E. McDowell,et al.  The impact of pair programming on student performance, perception and persistence , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Terri L. Lenox,et al.  Exploring Declining CS/IS/IT Enrollments , 2005 .

[11]  Debbie B. Tesch,et al.  An Examination of Employers’ Perceptions and Expectations of IS Entry-Level Personal and Interpersonal Skills , 2006 .

[12]  Tim Wahls,et al.  The benefits of pairing by ability , 2010, SIGCSE.

[13]  Sue Fitzgerald,et al.  Pair programming in education: a literature review , 2011, Comput. Sci. Educ..

[14]  Tim Wahls,et al.  The effects of pair-programming on individual programming skill , 2008, SIGCSE '08.

[15]  Roger Y. Lee,et al.  Evaluating the Usefulness of Pair Programming in a Classroom Setting , 2007, 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007).

[16]  Emilia Mendes,et al.  Empirical Studies of Pair Programming for CS/SE Teaching in Higher Education: A Systematic Literature Review , 2011, IEEE Transactions on Software Engineering.

[17]  Norman Jacobson,et al.  Pair programming in CS1: overcoming objections to its adoption , 2008, SGCS.

[18]  Tim Wahls,et al.  The Case for Pair Programming in the Computer Science Classroom , 2011, TOCE.

[19]  Daniel C. Cliburn Experiences with pair programming at a small college , 2003 .

[20]  J. G. Adair,et al.  The Hawthorne effect: A reconsideration of the methodological artifact. , 1984 .

[21]  Jens Bennedsen,et al.  Failure rates in introductory programming , 2007, SGCS.