Pair Programming: More Learning And Less Anxiety In A First Programming Course

Jennifer Brougham, Susan Freeman, Beverly Jaeger

2020 · 23 citations · 10 references

DOIFull text

Open access

Concepts

Abstract

Pair Programming is a recent development in education designed to enhance the student's learning experience through teamwork. Specifically, it involves the students undertaking and completing some aspect of their programming work as a team of two. In engineering it is generally utilized for computer coding projects, such that partners work conjointly on the same design, algorithm, code, or assignment. For this study, this approach was used in a first programming course entitled "Engineering Problem Solving with Computation" by adapting the XP: eXtreme Programming method that is used in industry. The objective of this course is to teach first-year engineering students logic and problem solving skills through algorithmic programming. The programming language in the course of interest was C++. Pair programming was a voluntary element of the course and the students, under certain conditions, could opt in or out of it. The primary objective in offering this option was to reduce students' frustration when programming for the first time, as this often causes them to abandon attempts to understand the nuances of programming logic and syntax, and thereby the intended educational value of the course is lost. Pair-programming methodology requires that participants assume specified roles in a partnership. The course is administered and this option is selected with this understanding. Through various assessment tools, it was found that pair programming inspired confidence in the students, specifically in their ability to achieve the task at hand. Students reported that they benefited from being exposed to their partner's ideas and suggestions, and that they therefore broadened their understanding of the assignments' requirements. The students indicated that it was easier and quicker to complete their work and there was an overwhelming belief expressed that it helped them identify errors more readily and consider alternative approaches to problem solving. Objective analyses taking into consideration the students' grades and timesheets support, at a prima facie level, the students' accounts of their experiences. From a pedagogical perspective, pair programming offered better use of the university's facilities, whereby fewer workstations were required, and the instructors' time was better utilized, reducing the number of potential inquiries and improving the quality of inquiry to be addressed. Foremost, the students themselves also reported a positive experience of being able to solve minor problems, such as syntax errors, by the immediate presence of their partner, which enabled higher levels of learning to be achieved. In addition to the qualitative and quantitative advantages of pair programming, this paper will discuss challenges and difficulties that surfaced and will outline the projected future of this methodology for engineering education.

References

10