Empirical Confirmation of Pair Programming Effectiveness in the Teaching of Computer Programming

This paper presents issues of computer programming and results of controlled experiment conducted to evaluate and understand the significance of pair programming in the teaching of programming. It involved 42 second year students attending object-oriented programming in Java, CISM 214 module as an elective at our institution. The experiment assessed the time for task completion, code correctness and quality as well as students' motivation. The results obtained were analyzed as well as hypothesis formulated and tested. The paired samples T-tests showed a statistically reliable difference between the mean number of time taken and the correctness/quality of programming task in individual and pair programming carried out by the students at a significant level of α=0.05 at 95% confidence interval. The results shows that pair programming is more effective in the teaching of programming than traditional approach and confirms several reports on pair programming in the literature. Thus, it would be advantageous to adopt pair programming as a technique for teaching computer programming for beginners.

[1]  Dima Taji,et al.  Collaboration leads to success: A study of the effects of using pair-programming teaching technique on student performance in a Middle Eastern society , 2015, 2015 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE).

[2]  Victor C. S. Lee,et al.  Learning motivation in e-learning facilitated computer programming courses , 2010, Comput. Educ..

[3]  Mervyn Flecknoe,et al.  How can ICT Help us to Improve Education? , 2002 .

[4]  Patcharaporn Panwong,et al.  Problem-Based Learning Framework for Junior Software Developer: Empirical Study for Computer Programming Students , 2014, Wirel. Pers. Commun..

[5]  Emilia Mendes,et al.  A replicated experiment of pair-programming in a 2nd-year software development and design computer science course , 2006, ITICSE '06.

[6]  Fadi P. Deek,et al.  Problem solving and cognitive foundations for program development: an integrated model , 2003 .

[7]  Glenda A. Gunter The Effects of the Impact of Instructional Immediacy on Cognition and Learning in Online Classes , 2007 .

[8]  Andrew Northedge,et al.  Rethinking Teaching in the Context of Diversity , 2003 .

[9]  L. Williams The Collaborative Software Process , 1999 .

[10]  Anthony V. Robins,et al.  My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems , 2005, ACE.

[11]  Brian Hanks Problems encountered by novice pair programmers , 2008, JERC.

[12]  Mohamed Osman Hegazi,et al.  The Challenges and the Opportunities of Teaching the Introductory Computer Programming Course: Case Study , 2015, 2015 Fifth International Conference on e-Learning (econf).

[13]  Laurie A. Williams,et al.  In support of student pair-programming , 2001, SIGCSE '01.

[14]  A. Sankar,et al.  Investigation of Student's Personality on Pair Programming to Enhance the Learning Activity in the Academia , 2014, J. Comput. Sci..

[15]  Tim DeClue,et al.  Pair programming and pair trading: effects on learning and motivation in a CS2 course , 2003 .

[16]  Gordon Hunter,et al.  Learn Programming++: The Design, Implementation and Deployment of an Intelligent Environment for the Teaching and Learning of Computer Programming , 2013, 2013 9th International Conference on Intelligent Environments.

[17]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[18]  Luiz Ricardo Begosso,et al.  An approach for teaching algorithms and computer programming using Greenfoot and Python , 2012, 2012 Frontiers in Education Conference Proceedings.

[19]  Bassey Isong,et al.  On the Integration of Agile Practices into Teaching: An Approach to Overcoming Teaching and Learning Challenges of Programming , 2015, 2015 International Conference on Computational Science and Computational Intelligence (CSCI).

[20]  Doris Schmedding,et al.  Pair programming in software development teams - An empirical study of its benefits , 2008, Inf. Softw. Technol..

[21]  Aniello Cimitile,et al.  Lessons learned about distributed pair programming: what are the knowledge needs to address? , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[22]  Andrew Begel,et al.  Pair programming: what's in it for me? , 2008, ESEM '08.

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

[24]  Victor C. S. Lee,et al.  Designing an Automatic Debugging Assistant for Improving the Learning of Computer Programming , 2008, ICHL.

[25]  Duncan McPhee,et al.  - 1-A Step Back from Coding-An Online Environment and Pedagogy for Novice Programmers , 2007 .

[26]  José Miguel Correa Gorospe,et al.  Can the grammar of schooling be changed? , 2009, Comput. Educ..

[27]  Indika Perera Impact of using agile practice for student software projects in computer science education , 2009 .

[28]  Robert R. Kessler,et al.  The collaborative software process(sm) , 2000 .

[29]  Soo Jin Jun,et al.  Online Pair-Programming for Learning Programming of Novices , 2007 .