Group Learning of Programming by means of Real Time Distributed Collaboration Techniques

This approach of Pair Programming is popular in the business sphere, mainly in organizations using eXtreme Programming (XP). In this kind of task, two programmers design software together in the same computer, working collaboratively in the same algorithm, design or programming task. The situation is identical to the aforementioned case of teaching practical programming. The Pair Programming model has demonstrated to be beneficial in students of programming. Quantitative and qualitative studies show that the use of this approach in the lessons of Programming Fundamentals improves the students’ learning, increases their satisfaction, reduces their shared frustration and decreases the number of bugs in the programs developed [10]. But when it is not possible for two students to be physically together, computer technology can support collaboration at distance. Thus, the concept of computer Collaborative Programming arises. Collaborative Programming is the application of collaborative strategies and computer support to Pair Programming. This allows, not only two, but three or four users to work in group. Previous studies [7, 11] indicate that Collaborative Programming does not only accelerate the problem solving processes, but rather it improves the quality of the software products. According to Johnson [5], the process of analysing and criticising software artefacts produced by other people is a powerful method to learn programming languages, design techniques and application domains. A system that