Pair Programming for Software Engineering
Education: An Empirical Study
Kavitha Karthiekheyan1,
Irfan Ahmed2, and Jalaja Jayalakshmi1
1Department
of Computer Applications, Kumaraguru College of Technology, India
2Department
of Computer Applications, Sri Krishna College of Engineering and Technology,
India
Abstract:
As an iterative and
incremental methodology, agile software has helped a lot in evolving solutions
from self-organizing, cross-functional teams. Pair programming is a type
of agile software development technique where two programmers work
together with one computer for developing the required software. This paper
reports the results of a pair programming exercise carried out with a set of
one hundred and twelve post graduate students, who developed small applications
as a part of their software development laboratory course at Kumaraguru College
of Technology (KCT) during the academic year 2012-2013 and 2013-2014. The
objective of this research is to investigate the effect of adopting pair
programming as a pedagogical tool in Indian higher educational setting.
Purposeful pair programming modules were deployed in various phases of software
development and the results revealed that pair programming is not only an
useful approach in teaching computer programming but also facilitate effective
knowledge sharing among students. Further, the effectiveness of pair programming
was realized to a greater extent during the designing and coding phases of
software development. Practicing pair programming also enables the students to
develop their collaborative skills, which is crucial to an industrial working
environment.
Keywords: Agile software development, collaborative learning,
knowledge sharing, pair programming, software engineering, education.
Received December 13, 2014; accepted April 26, 2015
|