Distributed Pair Programming Using Collaboration Scripts: An Educational System and Initial Results - TSOMPANOUDI, Despina; SATRATZEMI, Maya; XINOGALOS, Stelios (Informatics in education, 2015)
Since pair programming appeared in the literature as an effective method of teaching computer programming, many systems were developed to cover the application of pair programming over distance. Today's systems serve personal, professional and educational purposes allowing distributed teams to work together on the same programming project. The current research focuses in distributed pair programming systems which are suitable for supporting students in learning computer programming. Systematic review of publicly available systems revealed that there is an absence of effective collaboration support for the students. The main drawbacks of pair programming, such as uneven workload distribution and infrequent role switches, cannot be addressed with available systems. While building an enhanced version of a distributed pair programming system, successful instructional strategies in similar collaborative learning systems were explored, in order to improve students' interactions when applying pair programming over distance. As a result, the new system allows students to practice distributed pair programming in the form of collaboration scripts. This paper presents the features and the underlying concepts of the system, and the results of its first evaluation. The study showed that distributed pair programming attracted positive feedback from students, and that scripted collaboration affected students' engagement in programming, and resulted in an evenly distribution of learning objectives among pairs.