3.1 Problem Structure & Dynamic Scaffolding
3.2 Informal Assessment & Feedback
6 Acknowledgements and References
An essential component of PSS is the grouping of students into pairs called dyads (Le Doux and Waller, 2016). The dyads are important since it gives each student a partner to better navigate, interpret, and solve the problem (Hutchins, 2020). This partnership facilitates students sharing knowledge and expertise as well as providing each other with helpful critique. Moreover, the instructor’s knowledge and skills, having reached an expert level of ability, are tacit and difficult to articulate. Students however are at closer levels of ability to each other and are in the process of learning the material which can make them more suited to answering each other’s questions.
In the original PSS, students shared a 17” x 22” blotter pad as a publicly visible problem solving space. One student writes on the pad while the other partner observes, listens carefully, agrees or critiques the writer. After a few minutes the pair exchanges the roles of writer and observer. The students also negotiate the duration of the writer role (Le Doux and Waller, 2016).
Similarly, in computer science education and in industry, pair programming is a well-established practice of team-based problem solving (Beck, 2000; Hannay et al., 2009; Hawlitschek et al., 2022). The complementary pair of roles has been shown to be an effective way of producing high-quality programs and is generally enjoyable for both partners (Hannay et al., 2009; Williams et al., 2000). The adaptation of PSS to CS replaces the blotter pad and roles of writer and observer with pair programming, that is, a single computer and the roles of driver and navigator. This closely matches this aspect of the design of the original PSS while contextualizing it to CS education.
A recent large meta-study concluded that the effectiveness of pair programming in education was mixed, but that was primarily due to a lack of effective instructional structure and guidance (Hawlitschek et al., 2022). Our adaptation of PSS seeks to address this problem, specifically with the structure provided by the use of ill-structured, complex problems, dynamic scaffolding, problem ladders, and desk crits.
Solving ill-structured, complex problems is arguably the centerpiece of PSS. For the driver, the benefits of working on these problems is simply the process of solving and writing a solution to the problem. However, the navigator is particularly important and beneficial. Since the problems are ill-structured, by definition there is a lot of research that needs to be done. As the driver writes the code, the navigator can research possible important components of a solution, key knowledge about the particular problem, refer back to the course textbook, consult examples, and explore alternative solutions. Additionally, the navigator can observe the problem solving process of the driver. This is especially if the navigator is relatively inexperienced compared to the driver. For most people, the process of problem solving is difficult to communicate. The navigator has the opportunity to learn by example, which directly ties into the apprenticeship mode of learning that PSS encourages. This means the navigator is learning from observing their partner, by listening to the feedback from the desk crit, and by participating and communicating with their partner.
The problem ladder gives direction for each pair and naturally provides opportunities for the partners to swap roles. Our instructors communicated and emphasized that pairs exchange roles when they complete a problem. This allows each member to get the experience and benefits of being both a “driver” and a “navigator”. Further, the exchange of roles helps prevent either
partner from either dominating or withdrawing. Individuals who tend to dominate and be assertive will benefit by performing the thoughtful, observation-centered role of the navigator. Likewise, individuals who tend to be more passive will benefit by performing the direct, active role of the driver.
One of the criticisms of pair programming for novice programmers is that it is “the blind leading the blind” (Rosenberg and Stephens, 2008). However, the combination of the problem ladder, desk crits, and dynamic scaffolding, student pairs that are struggling can be quickly identified and put back on a track to success. Within a few minutes of starting the PSS activity, it becomes clear which pairs will be successful on their own and which need some help or guidance. Further, if a large number of pairs are stuck, a quick demonstration or example by the instructor can get the class back on track. The identification of struggling students is much quicker than a traditional lecture-based course. Typically the only time when struggling students are identified is when they turn in their assignments which means it could take days or weeks. In a PSS, these students can be found and helped within a single class period.
Both PSS and pair programming are centered on learning through the exchange of knowledge between peers in the context of a shared problem. The educational benefit of pair programming is primarily from the verbalization of problem solving it encourages. The details and roles of pair programming are not necessarily where the benefits come from but rather the interaction and discussion they facilitate (Hannay et al., 2009). This is likely the case for PSS as well, which is based on constructive learning (Ruiz-Primo, 2011), the benefit of PSS is the facilitated dialog between students and between student and instructor. This is the central idea of combining PSS and pair programming, to create dialog, both between students and between student and instructor, around problem solving for CS. This dialog-centered mode of learning allows students to construct their own knowledge of CS through problem solving.
Author:
(1) J. Walker Orr, Electrical Engineering and Computer Science, George Fox University, Newberg, OR, 97132, USA ([email protected]).
This paper is