Table of Links
Abstract and I. Introduction
II. Background and Related Work
A. Learning to Program: SCRATCH and Pair Programming
B. Gender in Programming Education and Pair Programming
III. Course Design
A. Introducing Young Learners to Pair Programming
B. Implementation of Pair Programming
C. Course Schedule
IV. Method
A. Pre-Study and B. Data Collection
C. Dataset and D. Data Analysis
E. Threats to Validity
V. Results
A. RQ1: Attitude
B. RQ2: Behavior
C. RQ3: Code
VI. Conclusions and Future Work, Acknowledgments, and References
B. Implementation of Pair Programming
Since the following of the PP protocol, i.e., adhering to assigned roles, is one of the main challenges of introducing PP to young students [43], we illustrate the roles in an accessible, playful, and age-appropriate way using small cards. Each pair receives two physical cards with the names of the roles and a matching icon for each role (Figure 1). The card of the driver shows an icon of a control board, representing the individual in charge of writing the actual code. The card of the navigator displays an icon of a compass to illustrate the importance of navigating, thinking, observing and giving feedback to the driver [43]. These cards are distributed so that each student has a card with their role in front of them, and we tell them that they must swap with their partner after each task.
The course is organized in terms of an even number of tasks, with roles changing between each successive task. The students are reminded that only the driver may access the keyboard and the mouse—just like a steering wheel in transportation, the navigator must not grab the mouse—, and that the roles are switched after each task. In order to enforce the PP protocol, the solution of a task is discussed in plenum after each task, and the students are reminded to swap their cards. Supervisors monitor and ensure that cards are swapped.
Throughout the course, the supervisors encourage the students to find their own solutions for problems rather than telling them the correct solution, since working in pairs supports problem solving without frustration [26].