Abstract
This study's goal was to investigate the effect of homogeneous and heterogeneous pairs in terms of individual differences on group compatibility, flow, and coding performance in pair programming. In line with this goal, five individual difference variables of gender, learning style, friendship, the conscientiousness component of personality traits, and prior knowledge of coding were determined in order to use them in the determination of pairs in pair programming. In the quantitative section of this mixed study, a non-equivalent control group posttest only experimental design was utilized. Sixty-four volunteer university students were included in the study. As a result of the study, it was determined that the homogeneous group experienced a higher level of flow in the case of learning style. On the other hand, in the case of friendship, the homogeneous group experienced a higher level of flow, while the heterogeneous group demonstrated a higher level of coding performance. Concerning the conscientiousness component of personality traits, the heterogeneous group showed a higher level of coding performance. In line with these findings, suggestions for both researchers and practitioners of coding education were made in the full text.
Keywords
Introduction
Programming has recently become a collaborative intellectual task because today's programs are too long for a single programmer to complete. This mandates collaboration among programmers. Therefore, it could be claimed that computer science students need to get used to this collaboration before their career in the industry, which highlights the importance of pair programming at the higher education. Pair programming is an application of agile programming, agile software development, and extreme programming approaches. During pair programming, two students control a single computer or hardware on which coding is performed. One of these students sits at the computer and controls the keyboard and mouse. This person is called the driver. The other student, who sits next to the driver student and helps, is called the navigator.
When a group of people is working to achieve a common goal, it is of utmost importance to collaborate compatibly. Therefore, group compatibility is a serious concept to be considered in pair programming. Man and Lam (2003) defined group compatibility as group members' support and loyalty to each other. Group compatibility is considered an important variable in terms of group members' trusting each other (Gilbert & Tang, 1998), ensuring the continuity of groups (Dion, 2000), and the effectiveness of groups (Sundstrom et al., 1990).
Programmers might face some difficulties in continuing their programming career without feeling the flow since programming is associated with working for long hours. Csikszentmihalyi (1975) set off with the purpose of studying intrinsic motivation but came up with the flow theory. It emerged with the concept of “optimal performance flow state” to explain the reasons that push individuals to leisure time activities. In his book, Csikszentmihalyi named dealing with a work intensely and enjoying it as the optimal performance flow state. The optimal performance flow state, which is also called “flow” in short, is a state of arousal, which is experienced by individuals when they are fully committed to an activity and which accompanies a mental state of joy (Csikszentmihalyi, 1975). In the literature, there are a few studies concentrating on the flow in pair programming (Belshee, 2005; Jones & Fleming, 2013). However, they do not focus on the question of how to pair students in pair programming to maximize the flow experience.
Theoretical Background
Collaborative learning constitutes the theoretical basis of this study since pair programming requires collaborative work. Collaborative learning is defined as the instructional use of working together in small groups to optimize students' learning and their friends' learning (Johnson & Johnson, 1999). More specifically, the zone of proximal development (ZPD) of Vygotsky (1978) constitutes the theoretical basis of this study. Through ZPD, more competent programmers can help less competent programmers achieve more than they can do alone. Since the flow is a dependent variable in this study, ZPD should be addressed in terms of flow. It is possible to address the concept of ZPD together with the concept of flow. Lambropoulos and Mystakidis (2012) named the new concept resulting from this merger as the zone of proximal flow (ZPF). Lambropoulos and Mystakidis defined the ZPF as the zone where the flow experience occurs in the ZPD. In short, it is not only expected for novice programmers with various levels of prior coding knowledge to help each other during pair programming, as suggested by the ZPD, but also to feel a state of arousal and joy, as suggested by the concept of flow.
Justification
Studies on pair programming in the literature focus only on a few individual differences, such as the skill level and the personality type. Therefore, Salleh (2008) states that comprehensive studies involving social individual difference variables, which are stated to be crucial in educational terms for pair determination in pair programming, are needed. On the other hand, no clear conclusion has been reached in the literature on whether homogeneous or heterogeneous pair programming groups are more effective, according to variables related to individual differences, such as personality type in particular (Salleh, 2008). At this point, Salleh et al. (2011) state that more studies should be conducted regarding the individual difference variables, on which uncertain results have been obtained in the literature in terms of their effect on group compatibility in pair programming.
It is stated that focusing on group compatibility is important to make it easier for pairs to cooperate at the highest level in pair programming (Chaparro et al., 2005; Hanks et al., 2011; Salleh et al., 2011). According to the relevant literature, incompatible groups limit the effectiveness of pair programming (Bradley & Hebert, 1997; Nagappan et al., 2003), possible conflict and tension situations that can be experienced between pairs can prevent learning (Yalom & Leszcz, 2005), and this means an additional workload for teachers (Jacobson & Schaefer, 2008). On the other hand, compatible groups affect group productivity positively (Liddell & Slocum, 1976). When variables that affect group compatibility in the literature are reviewed, it is observed that group compatibility could result from many individual differences such as personality type (Kroeger & Thuesen, 1992), skill level (Melnik & Maurer, 2002), etc. However, a small number of studies on group compatibility in pair programming in the literature were carried out in an educational context. On the other hand, the results obtained from these studies tell practitioners very little due to contradictory results.
Compared to the individual context, the group context offers individuals a large number of additional variables to act, think, and feel. These additional variables can prevent the individual flow in the group context, facilitate, or change the flow (Walker, 2010). In a way, supporting the same argument, Weinberg and Gould (2011) argued that problems related to group performance and interaction are one of the factors that disrupt the flow. In another study, Jackson (1995) stated that the flow in group activities is affected by the group friends' skill level, motivation, and communication and interaction with their group friends. In addition to this situation, since the group's total skill is in question instead of the individual skills of the group members in the group flow, the beliefs of the group members in each other's skills also gain importance because this affects the perceived task difficulty (Pels et al., 2018). Upon examining the situation from another perspective, in addition to the unique difficulty of tasks, it is also a challenge to perform this task with a pair. At this point, with whom individuals are paired also affects the difficulty of the task because in addition to content knowledge, skills such as communication, cooperation, personality, etc. also come into play in this process. In light of this information, with whom students are paired during pair programming may affect the flow they experience.
One of the key questions in pair programming is with whom individuals are paired in pair programming and how it affects the coding performance. Therefore, many studies have been conducted on this subject. The studies dealing with the coding performance are observed to be product-oriented because they generally address concepts such as coding speed (Sfetsos et al., 2012), debugging (Chaparro et al., 2005), coding quality (Chao & Atli, 2006), efficiency (Poonam & Yasser, 2018), the economics of pair programming (Sun et al., 2019; Zieris & Prechelt, 2019), etc. Thus, it can be stated that these studies are carried out not from an educational perspective but from an engineering perspective. However, coding performance is an important variable in the educational context as well. Nevertheless, the perspective in the educational context is different. The main aim of coding teaching is to enable students to learn efficiently and effectively from this process instead of creating a product by making students perform quickly and efficiently. The coding products presented here are considered as a reflection of students' learning in the process.
The Significance and Purpose of the Study
Practitioners who teach coding often pair students with those next to them, regardless of an academic benefit during pair programming. This limits the academic power of pair programming. In this study, it was tried to reveal how to implement pair programming more effectively by focusing on the determination of pairs in pair programming. This means that teaching can be carried out more effectively by guiding practitioners who teach coding. This study is unique because it is a mixed one, includes an experimental intervention with five individual difference cases, and measures students' flow experiences in the pair programming process. In this context, this study aimed to answer the question of which individual differences should be taken into account, and which method should be considered when determining pairs to maximize “group compatibility, flow experienced, and coding performance of the group in pair programming.” In line with the mentioned purpose, the following research problem and research questions were formulated.
How does the determination of pairs as homogeneous and heterogeneous according to various individual differences in pair programming affect group compatibility, flow, and coding performance?
Is there a statistically significant difference in pair programming in terms of (a) group compatibility, (b) flow, and (c) coding performance between groups in which pairs are determined as heterogeneous and homogeneous according to
gender, learning style, friendship level, the conscientiousness component of personality traits and prior knowledge of coding? According to which individual difference variables do students prefer to be paired in pair programming and what are the reasons for their preferences?
Materials and Methods
Research Design
Within the scope of this study, the embedded design, among the mixed research methods, was utilized. The embedded design is used when various data forms are required to answer different types of questions (Creswell & Plano-Clark, 2011). The embedded design was employed because, in addition to comparing pair programming groups in terms of dependent variables, this study aimed to reveal programmers' reasons for pair preference during pair programming. In this design, qualitative data were used to support quantitative data. In the quantitative section of this study, the non-equivalent control group posttest-only design was utilized among quasi-experimental designs. This design does not include random assignment of participants to groups (Fraenkel et al., 2012).
Study Group and Setting
The study group consisted of 64 volunteers, who were junior and senior students at the Computer Education and Instructional Technology Department of a state university. Those students took an elective course during the fall semester of the 2018–2019 academic year. Details of the study group are given in Table 1.
Characteristics of the Study Group.
In the study group, there was an overall equal distribution between male (f = 29, 45.3%) and female (f = 35, 54.7%) students. Concerning the class level, it was observed that juniors (f = 28, 43.8%) and seniors (f = 32, 50%) were in the majority and that there were very few students who had not graduated on time (f = 4, 6.3%). Furthermore, more than half of the students had an intention to work as a programmer (f = 39, 60.9%), whereas less than half of the students did not have such an intention (f = 25, 39.1%).
As a result of the independent samples t-test performed to show that the two groups forming the study group were equivalent, it was concluded that the heterogeneous and homogeneous groups did not differ statistically significantly in terms of prior knowledge of coding (t (62) = −1.372, p = .175). This result means that homogeneous and heterogeneous groups are statistically equivalent. It should be noted here that the homogeneous and heterogeneous groups and their participants in the study did not change according to the individual difference variable cases, but the way pairs were determined in the groups changed.
In the qualitative sample, semi-structured interviews were conducted with twelve students selected from the study group. While selecting the students to be interviewed, the maximum variation sampling method was used (Patton, 2001). The researchers were responsible for teaching the course. The research data were collected in the computer laboratory of the department in the Scratch 3.0 coding environment. The participants knew the researchers since they had taken a few of their courses before.
Data Collection Tools
In this study, seven data collection tools were used. These data collection tools are as follows: 1) Group Compatibility Scale, 2) Flow Scale, 3) Coding Performance Rubric, 4) Learning Style Inventory, 5) Quick Big Five Personality Test Inventory, 6) Coding Achievement Test, and 7) Semi-structured Interview Form.
Group Compatibility Scale
The Turkish version of the Group Compatibility Scale, the original form of which was developed by Price and Mueller (1986), was prepared by Alsancak (2010) by conducting research with university students. The Group Compatibility Scale consisting of a single factor contains five items. The Cronbach's alpha reliability coefficient of the five-point Likert-type scale was obtained to be .92. In the context of this study, the Cronbach's alpha reliability coefficient of the scale was calculated to be .884 according to the gender case in the first week.
Flow Scale
The Turkish version of the Flow Scale, the original form of which was developed by Jackson and Eklund in 2002, was prepared by Aşçı et al. (2007) by conducting research with adult participants. The Turkish version of the scale is a five-point Likert type scale and consists of 34 items and nine factors. The Cronbach's alpha reliability coefficient of all factors of the original scale was higher than .7. In the context of this study, the overall Cronbach's alpha reliability coefficient of the scale was obtained to be .905 according to the gender case in the first week.
Coding Performance Rubrics
Within the scope of this study, to evaluate the games developed during pair programming, the researchers developed the coding functionality rubrics for each of the five cases. These rubrics contain three graded quality definitions. These are as follows: does not meet at all (0), partially meets (1), and completely meets (2).
Learning Style Inventory
The third version of the Kolb Learning Styles Inventory (KLSI) developed by Kolb (1999) was adapted to Turkish by Gencel (2007). A minimum of 12 and a maximum of 48 points can be obtained from the Turkish version of the inventory containing 12 questions. The inventory has four factors, including “concrete experience, reflective observation, abstract conceptualization, and active experimentation.” The Cronbach's alpha reliability coefficients of these factors were obtained to be .76, .71, .80, and .75, respectively. The Cronbach's alpha reliability coefficients of the factors were recalculated with the data collected within the scope of this study and found to be .69, .71, .80, and .84, respectively.
Quick Big Five Personality Test Inventory
The Quick Big Five Personality Test containing 30 items was developed by Vermulst and Gerris (2005). The scale, developed in a seven-point Likert type, consists of a total of 30 items, including six items in each factor. This scale was adapted to Turkish by Morsünbül (2014) by conducting research with a sample consisting of high school and university students. In the original study, the Cronbach's alpha reliability coefficient of the conscientiousness factor of the inventory was reported to be .860. In the context of this study, the Cronbach's alpha reliability coefficient of the conscientiousness factor was calculated to be .811.
Coding Achievement Test
The coding achievement test developed by Demir and Seferoğlu (2019) with university students consists of two factors (basic coding skill and advanced coding skill) and eighteen items. The average item difficulty index of the achievement test developed by using the Scratch coding language was calculated to be .541, and the average item discrimination index was calculated to be .531. The overall Cronbach's alpha reliability coefficient of the measurement tool was obtained to be .801. In this study, the Cronbach's alpha reliability coefficient of the measurement tool was recalculated to be .795.
Semi-structured Interview Form
The “semi-structured interview” form was developed by the researchers. There are a total of five questions in the semi-structured interview form. In order to determine the suitability of the questions in terms of the use of language and in terms of the nature of the research, the feedback was received from three experts who teach in the field of computer education and instructional technology (CEIT) and who have published some qualitative studies. In line with their feedback, the semi-structured interview form was improved and put into the final form.
Implementation Process
In the implementation process, first of all, the ethics committee approval was obtained for the study. When we briefly mention the way of teaching the course, in which data were collected, implementations were performed after making short theoretical explanations in the first lesson of each week taught in the computer laboratory. In the first lesson of each week, coding activities were initiated by the lecturer. In the second lesson of each week, the desired features of the coding activity were given to the students, and they were asked to continue coding in pairs. In the second lesson of each week, students changed their driver and navigator roles. In the course, current or classic games were coded as a coding activity.
In the first week of the semester, a general view of the course was presented. Furthermore, according to the recommendations made by Williams et al. (2008), students were informed about what pair programming is, how it is implemented, and how it can be made more effective. In the second week of the course, the basic features of the Scratch environment were explained, and a sample activity was performed. In the third week, the personal information form, personality test inventory, learning style inventory, and coding achievement test were applied. During the following five weeks, pair programming was performed with pairs determined according to the individual difference of the week. The students were paired according to gender in the fourth week, learning style in the fifth week, and the level of friendship in the sixth week. The pairing was done according to the conscientiousness component of personality traits in the seventh week and, finally, according to prior knowledge of coding in the eighth week. During the last five weeks of the implementation process, the flow and group compatibility scales were applied to the students at the end of the second lesson.
As far as the last two weeks are concerned, each week, the participants in both groups were divided into four clusters according to size in terms of the relevant variable. Four clusters seemed to be a good number since fewer clusters would mean “homogeneous” clusters that were actually heterogeneous in terms of the related individual difference variable, whereas more clusters would make the pairing process harder. In the last two weeks, each cluster in the homogeneous group was paired within itself. At the same time, each cluster in the heterogeneous group was paired with other specific clusters making sure that pairs were neither too different nor too similar in terms of related individual difference variables. The pairings are presented in detail in Table 2.
Pairing Methods of Homogeneous and Heterogeneous Pair Programming Groups According to Individual Difference Cases.
The students were divided into four clusters, from fairly high to fairly low in terms of the relevant variable.
1 = Fairly high, 2 = High, 3 = Low, 4 = Fairly low.
Some measures were taken to support the internal validity of this study. Firstly, in pair programming, it was randomly decided which group would be homogeneous and heterogeneous in terms of the individual differences of pairs. Likewise, the decision about in which week and according to which individual difference the pairing would be done was taken randomly. Following this, the pairs were determined randomly, provided that compliance with the individual differences of the week was ensured. It can be stated that this randomness distributed the effects of the individual difference variables of other weeks equally in the groups (Fraenkel et al., 2012). Finally, in both groups, the same digital game was developed by the same researcher in the same environment and on the same day. Moreover, during the semester, the students were not allowed to switch between the groups.
Data Analysis
Hierarchical cluster analysis was used to cluster students according to the relevant variable. The independent samples t-test was used to compare groups in terms of group compatibility, flow, and coding performance averages. The statistical significance value was accepted to be .05. In the independent samples t-test, groups (homogeneous and heterogeneous) were considered as the independent variable, and group compatibility, flow, and coding performance were considered as the dependent variable. Following the central limit theorem, it was accepted that the normality assumption was provided (Mether, 2003). When the results were found to be statistically significant, the ETA square (η2) among the effect size measurements was calculated following the recommendations of Grissom and Kim (2012).
Some of the games developed by the students were scored by two experts in order to support inter-rater reliability. As a result of the Pearson correlation coefficient calculated between these two scorings, a statistically significant and positive result was obtained (r = .820, p = .000). Since this correlation coefficient was high (Rumsey, 2016), it was concluded that coding functionality scoring was reliable.
It was aimed to obtain a coding performance score by collating the coding functionality scores with the coding quality scores in a way that they made an equal contribution. In this study, the Dr. Scratch application, which is a free web-based application developed to measure the coding quality, was utilized. The Dr. Scratch application showed a high level (r = .834) of correlation with expert evaluations (Moreno-León et al., 2017).
The semi-structured interviews performed in this study lasted for 72 minutes and 14 seconds in total. When all the interviews were transcribed and transferred to an MS Word document, a data stock, which was in the Arial font with 12 points and had 1.5-line spacing, 57 thousand 521 characters (excluding spaces), 10 422 words, and 49 pages, was obtained. Content analysis was utilized to analyse these interviews.
Results
Some figures describing the data were given to visualize the findings before significance tests. First of all, Figure 1 was given to visualize the group compatibility means of the heterogeneous and homogeneous pair programming groups by individual difference cases.

Group Compatibility Means of Homogeneous and Heterogeneous Pair Programming Groups by Individual Difference Cases.
As seen in Figure 1, no considerable group compatibility mean difference between the heterogeneous and homogeneous groups was observed with the exception of the third week. In addition, group compatibility of the heterogeneous group was slighty higher than that of the homogeneous group with the only exception of the last week. After describing group compatibility, Figure 2 about the flow experience was given.

The Flow Experience Means of Homogeneous and Heterogeneous Pair Programming Groups by Individual Difference Cases.
In Figure 2, it is seen that the flow experience of the homogeneous group was slightly higher than that of the heterogeneous group in every individual difference cases. Finally, coding performance descriptives were given in Figure 3.

Coding Performance Means of Homogeneous and Heterogeneous Pair Programming Groups by Individual Difference Cases.
It can be inferred from Figure 3 that the coding performance mean differences are in favor of the heterogeneous group in every individual difference cases, but the differences are relatively larger in the last three cases. The results of the independent samples t-test conducted to see whether these mean differences are statistically significant or not are presented in Table 3, according to the order of the research questions.
Distribution of the Independent Samples T-Test Results Regarding the Effect of Pairing on Group Compatibility, Flow, and Coding Performance According to Various Individual Difference Variables in Pair Programming.
Note. He=Heterogeneous, Ho= Homogeneous.
p <.05
Summary of the Directions of Findings of All Individual Difference Cases.
The direction of a statistically significant difference.
As is seen in Table 3, in pair programming, creating homogeneous and heterogeneous groups according to “gender” had no statistically significant effect on group compatibility (t (61) = −.369, p = .713), flow (t (61) = −.993, p = .325), and coding performance (t (61) = .140, p = .889). Concerning the “learning style”, the creation of homogeneous and heterogeneous groups in pair programming had no statistically significant effect on group compatibility (t (61) = −1.120, p = .267) and coding performance (t (61) = .447, p = .657). However, it was concluded that homogeneous and heterogeneous pairing according to the learning style had a statistically significant effect on flow (t (61) = −2.330, p = .023, η2 = .082) in pair programming. The difference was in favor of the homogeneous group.
In pair programming, forming homogeneous and heterogeneous groups according to the “friendship level” had no statistically significant effect on group compatibility (t (61) = −1.929, p = .058). However, it had a statistically significant effect on flow (t (61) = −2.176, p = .033, η2 = .072) and coding performance (t (61) = 2.268, p = .027, η2 = .076). The difference was in favor of the homogeneous group when it comes to flow, and it was in favor of the heterogeneous group when it comes to coding performance.
Concerning the “conscientiousness component of personality traits,” it was observed that forming homogeneous and heterogeneous groups in pair programming had no statistically significant effect on group compatibility (t (61) = −.516, p = .608) and flow (t (61) = −1.289, p = .202). However, in pair programming, it was found that homogeneous and heterogeneous pairing according to the conscientiousness component of personality traits had a statistically significant effect on coding performance (t (61) = 3.074, p = .003, η2 = .131) in favor of the heterogeneous group. Finally, it was determined that forming homogeneous and heterogeneous pair programming groups according to the “prior knowledge of coding” had no statistically significant effect on group compatibility (t (61) = 1.492, p = .141), flow (t (61) = −1.445, p = .153), and coding performance (t (49.621) = 1.390, p = .171). An additional table was given to help readers see the directions of the results more clearly (See Table 4).
As a result of the qualitative analysis, five themes and eighteen codes were obtained (See Table 5). Due to space limitations, these codes and themes were not reported separately and were used to support the results of quantitative research. The students generally expressed their opinions about friendship and prior knowledge of coding among the other individual difference alternatives.
Distribution of the Themes, Codes, and Coding Frequencies Obtained as a Result of Content Analysis.
Discussion
The Effect of Pairing According to Gender on Group Compatibility, Flow, and Coding Performance in Pair Programming (Research Question 1)
In pair programming, the determination of homogeneous and heterogeneous pairs according to gender was observed not to be effective on group compatibility, flow, and coding performance. In pair programming, pairing according to gender emerges as realistic and practical pairings in workplaces and schools (Choi, 2015). The determination of pair programming groups according to gender can be said not to make any difference in terms of group compatibility, self-confidence in coding, and coding achievement (Zhong et al., 2016). However, there are also results opposite to this result. According to the literature on pair programming, female-female pairing is more effective than female-male and male-male pairing. In female-female pairing, pairs have higher self-confidence in programming, produce higher-quality programs, and get higher test scores (Werner et al., 2005). Partially in contrast to this result, Choi (2015) found that male-female pairings are more ineffective in pair programming in terms of group compatibility than male-male and female-female pairings, but these three types of pairing according to gender do not affect the coding output, productivity, and confidence. In short, there are no clear results in the literature in terms of self-confidence in coding and coding achievement/performance when it comes to pairing according to gender.
The result regarding the gender case can be explained in terms of gender roles in societies. In pair programming, the gender variable does not pose a problem outside of societies with apparent gender roles (Williams & Kessler, 2002). In this context, it could be said that gender roles in Turkey are not so apparent that they would affect the results of this study. This result can be better understood, considering that the data of this study were collected from the students of a large university in the metropolitan area.
The Effect of Pairing According to Learning Style on Group Compatibility, Flow, and Coding Performance in Pair Programming (Research Question 2)
Concerning the learning style, making homogeneous pairings instead of heterogeneous in pair programming increased the flow experienced during coding. However, any difference in terms of group compatibility and coding performance was not observed. First of all, it is necessary to define the learning style. Briefly, the learning style can be expressed as the individual's tendencies or preferences toward learning (Kolb, 1984).
When the relevant literature is reviewed, very few studies on group compatibility in pair programming are observed to focus on learning style. When it comes to the compatibility of pairs in pair programming, it is observed that only the sensing and intuition learning style pairing has a positive effect on compatibility (Williams et al., 2006). Furthermore, according to the results of the study conducted by Sennett and Sherriff (2010), when groups are composed of different individuals in terms of the learning style, group compatibility does not become better in pair programming.
Individuals with the same learning style approach problems in a similar way. This can make it easier for them to understand one another and to collaborate because, as Rogers (1995) stated, individuals with similar characteristics communicate more easily. This situation can be regarded as one of the reasons for the fact that homogeneous pairing, according to the learning style, increased the flow experience in this study. Groups homogeneously paired according to the learning style may agree easily on how they should fulfill the coding task. This means that the entire mental effort of the group can be devoted to completing the task instead of devoting it to the method, strategy, etc. that will be followed to complete the task. At this point, the task can be started to be perceived more easily than it is. On the other hand, in this study, it was concluded that homogeneous pairing according to the learning style in pair programming was not more effective in terms of coding performance in comparison with heterogeneous pairing. While the common preferences of a team provide the team with a common ground, the different preferences of the team provide the team with a wider area of expertise than each member of the team has alone (Myers & Myers, 1995). In this context, since similar perspectives in the homogeneous group according to the learning style do not allow different applications, the homogeneous group may not have been more successful than the heterogeneous group in terms of the coding performance.
The Effect of Pairing According to Friendship Level on Group Compatibility, Flow, and Coding Performance in Pair Programming (Research Question 3)
Considering the friendship level, homogeneous pairings are more effective in pair programming in terms of the flow experienced during coding, while heterogeneous pairings are more effective in terms of the coding performance. In the case of friendship, there was no difference in terms of group compatibility. First of all, in the context of this study, friendship is defined as the degree to which individuals care about, feel close to and spend time with each other.
At first glance, it can be expected that a homogeneous group according to friendship increases group compatibility. In the literature, there are also results supporting this (Zhong et al., 2016). However, it is worth stating here that group compatibility is also influenced by factors such as personality type (Kroeger & Thuesen, 1992) and skill level (Melnik & Maurer, 2002), except friendship.
MacDonald et al. (2002) stated that students learn more from their friends than their non-friends in collaborative learning settings. Likewise, Hartl et al. (2015) concluded that higher closeness in pairs means higher achievement. When the results are considered in the context of pair programming, it is known that in groups of friends, pair compatibility in pair programming positively affects the coding knowledge with the mediating effect of trust (Werner et al., 2013). In another study, contrary to this result, it was found that coding pairs consisting of friends did not make any difference in terms of coding achievement and coding trust (Zhong et al., 2016).
It is considered useful to discuss why the flow experience in homogeneous pairs is higher compared to heterogeneous pairs, in the case of friendship. According to the level of friendship, it can be interpreted that homogeneous groups do not distinguish between working in the laboratory and other fun times that they spend with their friends. This may be caused by the fact that students may have more comfortable and sincere communication since they already know their close friends. When it comes to the flow experience in the case of friendship, another concept that can be benefited from regarding why homogeneous pairing is more effective than heterogeneous pairing is the process loss. The concept of process loss refers to spending time and cognitive resources, which group members can use to learn something, for coordinating the group (Hertel, 2011; Steiner, 1972). Group members in the homogeneous group, according to the friendship level, may have been more focused on the task mentally since they did not waste time getting to know each other in the context of process loss. This situation may have increased the flow experience in the homogeneous group. When this situation is considered from another point of view, the fact that the heterogeneous group, according to the friendship level, experienced less flow compared to the homogeneous group can also be explained by the concept of peer pressure. With the disadvantage of not working with their close friends, the heterogeneous group members may have tried to prove themselves to their group friends by thinking that they would be judged by the group friends in terms of coding knowledge, effort, etc. This may have decreased the flow experience of the heterogeneous group through the formed anxiety and stress.
Individuals who experience flow have a higher motivation to perform work in the context in which they experience flow (Akgün et al., 2011). In this context, the flow experience is associated with increased performance (Landhaußer & Keller, 2012). However, in this study, it was concluded that, in pair programming, groups that were homogeneously paired according to friendship, experienced higher flow, but the coding performance of heterogeneous groups was higher. It is known that the anti-work trend within the group may hinder production (Goodman et al., 1988). In the present study, students in the pair programming groups consisting of close friends may have made a compromise among themselves to reach a target other than completing the task. Supporting this claim, Campe et al. (2020) stated that pairing students with their friends was associated with non-task interaction. This may partially explain why the homogeneous group formed according to friendship exhibits lower coding performance. This result can also be explained by the more professional/formal work of heterogeneous groups in terms of friendship. When students formed a group with their distant friends, respect and formalness arose within the group since they did not recognize their groupmate. Hence, the students may have done their best to complete the coding task successfully. This situation can be explained in this context by the concept of peer pressure. During pair programming, group members constantly observe each other. This observation situation may have created some kind of hidden peer pressure on students. Sometimes, students can make more effort than they would show individually to prove themselves to their groupmates (Williams & Kessler, 2002). This extra effort may have increased the coding performance of the heterogeneous group. This situation can be evaluated in terms of how homogeneous group is formed according to friendship. When it comes to groups consisting of close friends, it can be said that the feeling of sincerity among the group members may cause the performance to decrease. This situation can be explained by the concept of social loafing. Briefly, social loafing can be defined as individuals' making less effort in group work than solo one (Latane et al., 1979).
The Effect of Pairing According to the Conscientiousness Component of Personality Traits on Group Compatibility, Flow, and Coding Performance in Pair Programming (Research Question 4)
In this study, it was concluded that forming homogeneous or heterogeneous groups according to the conscientiousness component of personality traits does not affect group compatibility and the flow. However, it affects the coding performance in pair programming. The difference is in favor of the heterogeneous group. First of all, it is useful to define the related concepts. In the current study, personality was defined as consistent behaviors and interpersonal processes arising from the individual (Burger, 2006). The conscientiousness component of personality traits, addressed in this study, includes features such as hard-working, task-based behavior, motivation, caution, determination, and self-discipline. Individuals with high conscientiousness are punctual, orderly, patient, purposeful, and planned (Klimstra, 2012).
As a concept similar to the conscientiousness component of personality traits, there is the concept of pair programming work ethic in the literature. Williams et al. (2006) concluded in their study that creating pair programming groups with similar characteristics in terms of work ethic affected the compatibility of pairs positively. However, this result regarding the effect of the similar pairing of pair programming groups according to work ethic on group compatibility contradicts the results obtained by Sennett and Sherriff (2010).
It is useful to discuss the possible reasons why heterogeneous pair programming groups, according to the conscientiousness component of personality traits, exhibit higher coding performance than homogeneous groups. Social loafing and the free ride may be a problem in teams with low conscientiousness (Mohammed & Angell, 2003; Neuman & Wright, 1999). These two problems may have caused the performance of the homogeneous group to decrease. On the other hand, the concept of cognitive distortion may have been effective in the group, which was heterogeneous in terms of conscientiousness. Cognitive distortion can be defined as irrational or exaggerated thinking patterns involving psychological states (Helmond et al., 2014). According to the concept of cognitive distortion, students who are usually more successful and responsible do not like the work done by groupmates and the efforts they make. These students may start ignoring their groupmates with the thought that they do not say anything beneficial. They can do all the work by themselves, claiming that their groupmates are not “beneficial” enough, or they can ask their group friends to do more and better things, reasoning that they do not show a sufficient effort. In this context, in the heterogeneous group according to the conscientiousness component of personality traits, students with high conscientiousness may have demanded more effort from students with low conscientiousness, or they may have performed the tasks mostly alone. The fact that students with high conscientiousness demand higher efforts from students with low conscientiousness can also be explained by the concept of peer pressure (Williams & Kessler, 2002). Peer pressure may have increased the coding performance of the heterogeneous group in terms of conscientiousness.
The Effect of Pairing According to the Prior Knowledge of Coding on Group Compatibility, Flow, and Coding Performance in Pair Programming (Research Question 5)
According to the result obtained in this study, homogeneous and heterogeneous pairing according to the prior knowledge of coding in pair programming does not affect group compatibility, flow, and coding performance. Firstly, the results of the studies in the literature on heterogeneous pairing according to the prior knowledge of coding in pair programming were mentioned. Expert programmers paired with novices during pair programming are less satisfied with pair programming because they think that they are slowed down by their pairs, and thus they are bored (Bevan et al., 2002; Thomas et al., 2003; Williams & Kessler, 2002). On the other hand, heterogeneous pairing, according to prior knowledge, becomes effective via knowledge transfer in pair programming. During pair programming, individuals with low prior knowledge of coding learn coding from individuals who have high prior knowledge (Plonka et al., 2015).
It is understood that the compatibility related to the perceived skill level in pair programming affects the compatibility of pairs directly (Sennett & Sherriff, 2010). Such pairings also increase the perceived enjoyment (Chaparro et al., 2005) and team performance (Hannay et al., 2010). On the other hand, in pair programming, novice-novice pairing is criticized with the analogy of “the blind is guiding the blind” (Stephens & Rosenberg, 2003).
In the previous paragraphs, concerning pairing according to the prior knowledge of coding in pair programming, both positive and negative situations were listed for the three existing conditions (low-low, high-high, low-high). Among these options, high-low pairing is expected to be more effective since it maximizes knowledge transfer (Plonka et al., 2015). However, in the context of this study, it could not be concluded that the heterogeneous pair programming group, according to prior knowledge, was more effective in terms of any dependent variable compared to the homogeneous group. At this point, the concept of an expert blind spot may have had an adverse effect on the heterogeneous group. The expert blind spot is the situation when the high knowledge of individuals, who are highly knowledgeable on a subject, overshadows the knowledge of how to convey basic concepts to individuals with low knowledge (Nathan & Koedinger, 2000). To put it briefly, sometimes, highly knowledgeable individuals may think that some knowledge, skills, etc. are fundamental and may not even understand how/why individuals with low knowledge do not know/grasp them. Students with high prior knowledge according to the prior knowledge of coding in pair programming groups do not want to share information with students with low prior knowledge, causing students with low prior knowledge to become passive, and this may have also prevented a difference in favor of the heterogeneous group.
Individual Difference Variables Students Prefer to Be Paired in Pair Programming and the Reasons for Their Preferences (Research Question 6)
As a result of this study, the pairing preferences of students in pair programming point in two different directions rather than pointing in one direction because of two groups of students who generally think quite differently. Students often want to be paired according to friendship and the prior knowledge of coding. These students may prefer to be paired as heterogeneous or homogeneous according to these two variables because this will increase group compatibility, flow, and coding performance for various reasons. Concerning friendship, while a group of students prefers to be paired with their close friends because they will adapt more easily and feel comfortable, another group of students prefers to be paired with their distant friends because they will work more professionally. At this point, pairing with close friends brings about social loafing, while pairing with distant friends brings about peer pressure.
In the case of pairing according to the prior knowledge of coding, some students prefer heterogeneous pairing due to knowledge transfer, provided that it is not too heterogeneous. On the other hand, when it comes to homogeneous pairing according to the prior knowledge of coding, especially students with the high prior knowledge of coding want to be paired with other students with the high prior knowledge of coding because the workload is distributed equally in such a case. Finally, students are like-minded about forming a group with individuals with high task responsibilities and with individuals who collaborate compatibly.
Conclusion
As a result of this study, it can be concluded that none of the individual differences causes a difference in terms of group compatibility in pair programming. The main reason for this result may be that each week when a different individual difference was taken into account, pair programming was performed during the two course hours (90 minutes) only. It is stated that some factors that will affect group dynamics may manifest themselves after days or even months (Forsyth, 2006). Therefore, for the emergence of severe mismatches in pair programming groups, group members may be required to work together for more extended periods.
As a result of the present study, it could not be concluded that homogeneous or heterogeneous pairing according to any individual difference variable in pair programming increases three or any two of the group compatibility, flow, and coding performance variables simultaneously. Some pairings in this study appear to increase either only the flow experience (the case of learning style) or only coding performance (the case of the conscientiousness component of personality traits), or they appear to increase the flow experience or coding performance (the case of friendship) depending on the group's being homogeneous/heterogeneous. Here, the following question comes to mind: Which one of the flow experience or coding performance would be more reasonable to consider in pair programming? This question becomes even more prominent in the case of friendship, when the dependent variable becomes different according to whether the pairing is homogeneous or heterogeneous in pair programming. At first, it may be thought that the coding performance should be considered. However, the flow is a variable that is known to be important from an instructional point of view. Therefore, it cannot be said that one variable could be ignored, and only the other one should be taken into account. However, it is a reality that practitioners need to make a decision, especially when it comes to the case of the friendship level. At this point, mixed pairings, which will increase both the flow and coding performance according to the individual difference variables found to have an impact on the dependent variables within the scope of this study, can be considered.
In the current study, it is useful to interpret the results obtained from quantitative and qualitative data together. In the qualitative section of this study, it was concluded that the students wanted to be paired homogeneously according to the friendship level among the individual differences during pair programming because they would adapt more easily and feel more comfortable. This result is consistent with the result, which was obtained in the quantitative section of the study and which demonstrated that homogeneous pairing according to friendship increased the flow.
Likewise, in the qualitative section of the study, the students wanted to be paired heterogeneously according to friendship because students would behave more responsibly to complete their coding tasks since they would be in a more professional collaboration. This result is consistent with the result, which was obtained in the quantitative section of the study, and which determined that the heterogeneous group, according to friendship, exhibited higher coding performance compared to the homogeneous group. On the other hand, in the qualitative section of the study, although the students frequently mentioned the various advantages and disadvantages of homogeneous and heterogeneous pairing according to the prior knowledge of coding among individual difference variables, it was concluded in the quantitative section of the study that homogeneous and heterogeneous pairing according to the prior knowledge of coding did not affect dependent variables in pair programming.
Recommendations
All coding tasks given to students within the scope of this study are short and easy tasks that can be completed in 90 minutes by groups of two since the length of the semester limited every individual difference variable case to one week of the semester. Due to this time limitation, pair programming tasks were prepared in a way that they could be completed in two lessons. Therefore, the generalizability of the study results to the context of longer and more difficult coding tasks is limited. In this context, repeating the results of this study with more complex coding tasks may contribute to the literature. The findings of this study may also be replicated with a larger study group, a true experimental design, and higher-level programming languages. Furthermore, since some students pointed out that they would like to be paired with compatible students, the effect of pairing according to the agreeableness component of personality traits on the dependent variables of this study during pair programming might also be examined in future studies. Finally, future studies on pair programming may focus on pairing in distributed pair programming, which appears to have recently drawn attention among researchers and practitioners.
The suggestions of this study vary according to the dependent variable considered. Practitioners can pair students homogeneously according to their learning style and the level of friendship to increase their flow experience. The Learning Style Inventory developed by Kolb (1999) can be used to determine the learning style of students. When it comes to friendship, pairing can be done by asking students who their close friends are. However, social loafing may arise as a significant problem at this point. Therefore, to minimize social loafing, more peer evaluation activities can be applied during pair programming, as is suggested by Aggarwal and O’Brien (2008).
Practitioners can pair students heterogeneously according to friendship and the conscientiousness component of personality traits to increase their coding performance. However, in pair programming, heterogeneous pairing according to friendship may cause students not to feel comfortable. At this point, at the beginning of lessons, it can be suggested to carry out some short ice-breaking activities (Chlup & Collins, 2010). Concerning the conscientiousness component of personality traits, the Quick Big Five Personality Test inventory developed by Vermulst and Gerris (2005) can be used. In this case, group members may be asked to evaluate each other's work to prevent possible cognitive distortion problems. Since they do not make any difference on group compatibility, flow, and coding performance, homogeneous or heterogeneous pairing according to gender and the prior knowledge of coding, which are the remaining individual difference variables, is not recommended during pair programming.
Footnotes
Authors’ Note
This article was derived from the dissertation of the first author, completed under the supervision of the second author.
Declaration of Conflicting Interests
The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The authors received no financial support for the research, authorship, and/or publication of this article.
