Effects of Solo and Pair Programming Instructional Strategies on Students’ Academic Achievement in Visual-Basic.Net Computer Programming Language

.


INTRODUCTION
ntil recently, most programming instruction in Nigerian tertiary institutions took place in lecture rooms, and focused upon theory. Students were then expected to practice the knowledge acquired once they were outside the classroom. Historically, this situation probably arose due to the dearth of computers available for students' use. However, the story is gradually changing now that computers (desktop, laptops, notebooks, etc.) are within the reach of many students, coupled with the fact that computer laboratories in tertiary institutions are better equipped. Because of this development, few lecturers now deliver programming instruction directly using computers.
The method of theoretical instruction on programming, based in the lecture room and without the use of computers, which is still common in our tertiary institutions, is referred to in this study as the conventional method of programming instruction. The two experimental methods adopted in this study are solo and pair programming instructional strategies. In solo programming, the programmer or student is alone on the computer. This is an older strategy as compared to pair programming. In the latter case, unlike in solo programming, two programmers work together on the same programming task using one computer and one keyboard. Pair programming is a practice in which two programmers sitting side by side using only one computer work collaboratively on the design, algorithm, code, or test [1]. One of them is the "driver" who is responsible for typing the code and has control over resources such as computer, mouse, and keyboard. The other partner, known as the "navigator" or "observer," has responsibility for observing how the driver works. The navigator is expected to detect errors made by the driver and offer ideas in solving problems. Pair programming, first used in 1999 as one of the core practices in the Extreme Programming (XP) software development methodology in industry, has been widely implemented in industry as well as in educational settings [2,3]. Particularly in educational settings, researchers and academics had previously applied pair programming techniques in the fields of software engineering (SE) and computer science (CS). In various studies carried out at different times [4,5,6,7,8,9], findings showed that the pair programming technique brought about better student academic performance in final and midterm examinations, quizzes, programming assignments, and overall course grades. Specifically, in one research study [4] it was found that the performance of paired students was significantly higher than that of solo students both in final examinations and course grades. However, another study [10] found that there was no significant difference between pair and solo students in academic performance in quizzes, final examinations, and course grades. As a consequence, the findings on the effects of solo and pair programming techniques on students' academic performance in programming remains a matter of dispute.
The interaction effect of gender (especially regarding female students) and programming techniques on students' academic achievement is also studied in the literature. In one study in particular [11], the pair programming technique was found to affect both men and the women in the same way. In other words, both benefited from the pair programming technique. In another study [11], pair programming showed greater effectiveness in helping female students to work on programming tasks. In another comparison of paired and solo women who completed the programming course, the difference between paired and solo work was not statistically significant (79.1% versus 87.9%, p = 0.15).
The findings on the effects of programming technique on students' academic achievements in programming are therefore inconclusive. In addition, only a few empirical studies have been carried out in Nigeria on the effects of programming instructional approaches on students' academic performance in programming. This study therefore sought to find out (i) the main effects of solo, pair, and conventional programming instructional strategies on students' academic achievement in VB.NET programming; (ii) the main effect of gender on students' academic achievement in VB.NET programming, and (iii) the interaction effects of instructional approaches and gender on students' academic achievement.

II. RESEARCH QUESTIONS
(1) What is the pattern of influence of solo and pair programming approaches on students' achievement in VB.NET programming? (2) To what extent has gender interacted with the treatment to improve students' achievement in VB.NET programming?

III. HYPOTHESES
The following null hypotheses were tested at an alpha level of 0.05.

HO1:
There is no significant main effect of treatment on the mean achievement scores of students in VB.NET programming.
HO2: There is no significant main effect of treatment on the mean achievement scores of male and female students in VB.NET programming.
HO3: There is no significant interaction effect of treatment and gender on the mean achievement scores of students in VB.NET programming.

IV. METHODOLOGY
The study employed a pre-test/post-test non-equivalent group control design. Specifically, three non-equivalent groups were used for this study. The design can be represented thus:

V. PROCEDURE
Since this study was sponsored by the Tertiary Education Trust Fund (TETFUND) in Nigeria, it was possible to equip the mathematics laboratory of the college with ten desktop computers specially prepared for the experiment. Sixteen other computers in the computer laboratory were also made ready for the study. A module for the course was also prepared and given to each of the students who participated in the study. The lecturer in charge of the course used the conventional method to instruct the participants, while another experienced facilitator took the experimental 1 and 2 groups through the solo and pair programming instructional strategies respectively. At the outset of the study, the subjects were administered the VB.NET Achievement Test (VAT). The score from this first test served as the pre-test (covariate) score. All the subjects were first taught using the conventional method. After this, the two treatment conditions (solo and pair programming instructional approaches) were provided for two of the three groups. The treatment lasted for four weeks. Thereafter the VAT was readministered and used as post-test.
In experimental group 1 (solo programming group), subjects were taught with each of them sitting on their own at the computer to code, compile, and run the programs while the facilitator explained and demonstrated using the interactive board. They were then given exercises and assignments. In experimental group 2 (pair programming group), subjects were made to sit two by two at the computers. For each pair, one was a "driver" doing the coding, compiling, and running; the other was the "navigator" or observer, charged with checking for possible errors and offering solutions accordingly. The control group took part solely in the conventional approach.
The pre-and post-test achievement test scores in VB.NET programming were used to answer the research questions and also to test the hypotheses that guided the study. A summary of the results is presented in the tables below.  From Table 1 above, the students under the solo programming method (experimental group 1) had the highest mean gain ( ̅ = 5.88), followed by those under the pair programming approach (experimental group 2) ( ̅ = 4.59). Those under the conventional method had the lowest mean gain ( ̅ = 3.94). This implies that students under the solo programming method have highest post-test score ( ̅ = 12.44), while those from the control group have the least post-test mean score ( ̅ = 10.35).

Answers to Research Questions
From Table 2 above, the male students who had lower pretest scores had a higher mean gain in score in VB.NET programming ( ̅ = 5.07). The female students had a mean gain of only 4.90. Both the male and female groups have higher mean post-test scores (Male =11.50, Female = 11.46) than mean pre-test scores (Male = 6.43 and Female = 6.56). The implication of this finding is that the male students benefited more from the treatment than the females.

VII.
Hypotheses Testing  The results in Table 1 indicate that there is no significant main effect of learning approaches (Solo, Pair, and Conventional approaches) on students' academic achievement in VB.NET programming [F (2,61)=0.471, p > 0.05)]. Since the P-value of the F-ratio was not significant, it follows that hypothesis HO1 regarding the main effect of learning approaches on students' academic achievement in VB.NET programming was accepted. This means simply that the learning approaches generally do not improve the performance of the students in VB.NET programming. The partial Eta squared estimated was .015, implying that treatment accounts for 1.5% of the variance observed in post-test academic achievement in VB.NET programming. The table also showed that the main effect of gender on students' academic achievement in VB.NET programming is not statistically significant. Since the P-value of the F-ratio was not significant, it follows that hypothesis HO2 on the main effects of gender on students' academic achievement in VB.NET programming was accepted. This means simply that gender does not impact on students' academic achievement in VB.NET programming. The partial eta squared estimated was 0.001, implying that gender accounts for 0.1% of the variance observed in post-test academic achievement in VB.NET programming. There was also no significant interaction between treatment and gender on students' mean achievement in VB.NET programming.
The Schefe Post Hoc multiple comparisons (table 4) gives the mean differences of achievement scores of students exposed to the different treatment conditions. Table 4 shows no significant mean score difference between all the pairs of the three groups (Control versus Solo, Control versus Pair and Solo versus Pair).

VIII. DISCUSSION AND CONCLUSION
The results presented in table 3 show that the main effect of the treatment was not statistically significant. This implies that the treatment did not affect students' performance in VB.NET programming. The finding of this study agrees with the findings of another study [10] in which there was no significant difference between pair and solo students in performances in quizzes, final examinations, and course grades. This, however, contradicts the findings of [4], that the performance of paired students was significantly higher than that of solo students both in the final examinations and course grades.
The non-significant main effect of gender and as regards the interaction effect of treatment and gender in this study also agrees with the findings of [11], where researchers found that both men and women benefited equally from the pair programming technique.
The findings of this study indicate that both solo and pair programming approaches are more effective approaches to learning computer programming when compared to the lecture method that has been in use for decades. These approaches, both of which are relatively new in Nigerian tertiary institutions, were more effective than the old conventional method in improving students' learning of computer programming. It is therefore recommended that these methods be employed in the teaching and learning of computer programming in Nigeria. The present study thus represents a significant pedagogical opportunity, and can be ranked alongside other pioneering research on education in Nigeria made possible by a grant from the Tertiary Education Trust Fund (TETFUND). To enhance the use of the solo and pair programming approaches in Nigerian tertiary institutions, provision of sufficient computers in computer laboratories should be included among the approval conditions for computer science programmes. This will influence tertiary institution administrators, who will in turn make the use of these methods easier for lecturers and consequently improve the teaching and learning of programming in our tertiary institutions.