Education and Leadership in Glocalization : What does “think globally, act locally” mean for education around the world?
21-24
2014
255
Recent studies also suggest that the problems remain the same when it comes to the difficulties
many students experience when learning basic programming. Research studies further show that
students don’t have basic problem solving skills and don’t know how to create algorithms Mikum,
Suksakulchai and Chaisanit, 2013; Gomes Mendes, 2007. Problem solving is essential to computer
programming and requires multiple abilities that students often don’t have Gomes Mendes 2007.
Although, this study proposes several methods and tools to support programming learning
and to solve the problems of students, some problems still occur with students in the programming class. In
Thailand, Sankas 2010, found 61 of the students in his research group had low academic performance.
And Sanrach and Houdsunthorn 2010, found in 2005 and 2006, students were failing the Principle of
Programming course 33.34 and 27.77 respectively.
This paper is organized as follows: Section two provides a brief explanation of pair programming.
Section three, provides information about pair programming within the context of Thai student. The
study concludes with a discussion and summary in section four.
2. Strategies of Pair Programming in education
Pair programming is one of the practice areas in Extreme Programming XP methodology to
improve the quality of software more productively Phongpaibul Boehm, 2006. Pair programming is a
style of programming in which two programmers work together on the same problem, algorithm,
design, code or test, and work side by side at one computerWilliams, 2010; Anderson Gegg-
Harrison, 2012; Cockburn Williams ,2000; Ma, Ferguson, Roper, Wilson, and Wood 2004. One of
the programmers, called the driver, is responsible to design and write the code. The other partner, called
the navigator, is the responsibility to observe the work of the driver looking for mistakes and providing
strategic suggestions Ma et al. 2004; Jan Chong, 2005;
Anderson Gegg-Harrison,
2012. Additionally, according to Laurie Williams the driver
and the navigator can brainstorm on-demand and problems solve. An effective pair programming
relationship is very active. The driver and the navigator communicate and talk more, if they talk
together at least every 45 to 60 seconds. It’s also very important to periodically switch roles between the
driver and the navigator Williams, 2003.
When using pair programming in an educational setting, students work in tandem at one
computer while completing regular programming assignments.
Before introducing the pair programming formula and purpose to the students, the
teacher decides how to choose effective pairs. The teacher may allow the students to choose their
partners, or may proactively form student pairs that are most likely to work well together Williams,
2010. A study by Maree Mujeeb-u-Rehman indicates that pairs formed of a male and a female worked
better and had more innovative ideas Mujeeb-u- Rehman, Yang, Dong, Ghafoor, 2005. A study by
Joseph Chao indicates that if pairs were matched based on their level of Open mindedness and
Responsibility the result was a higher quality code Chao Atli, 2006. The study indicated that most
often 93 of pairs students report being compatible with their partners Williams, 2010. Pair rotation is
also important. Teacher should switch partners because this will spread information and knowledge
will be spread throughout the whole group Laurie Williams, 2003. As defined by Laurie Williams, “the
results also indicated that the teacher can use the following information to form highly-compatible
pairs:
Pair students together who have a similar a skill level as measured by computer science
andor total grade point average qualitative results by Toll et al. also support having
students of similar skill level Williams, 2010;
Pair a Myers-Briggs sensor with a Myers- Briggs intuitor; andor Williams, 2010
Pair students together who have a similar work ethic, determined by asking students to
provide a number from 1 to 9 where a 1 indicates the student works hard enough
to just barely get by and a 9 indicates they work
hard enough to get the best possible grade Williams, 2010.”
Researchers at several universities have used pair programming in computer science courses and
found this practice to be helpful to students. The advantages, disadvantages, and concerns with pair
programming in an educational context as are discussed below.
2.1 Advantages of pair programming
Pair programming improves quality, teamwork, and communication.
Researchers demonstrated that students who work in pairs tend to
write programs of higher quality, have higher course passing ratesPreston, 2005; McDowell, Werner,
Bullock, and Fernald 2006; Mendes, Al-Fakhri, and Luxton-Reilly 2006 and reduce time to complete the
programs Preston,
2005. Additionally, the researchers found that students working in pairs
solved tougher problems faster, and had improved teamwork and communication skills and overall team
effectiveness that is similar to what is found in the
Education and Leadership in Glocalization : What does “think globally, act locally” mean for education around the world?
21-24
2014
256
computer industry Williams, 2010; Williams,2000; Gallis, Arisholm, and Dyba 2003.
Pair programming improves retention and confidence. Researchers observed pair programming
conducted with undergraduates. The pairing students demonstrated that pairing helped improve retention
Williams, 2010; Anderson Gegg-Harrison, 2012 and increase confidence Anderson Gegg-
Harrison, 2012; McDowell et al. 2006; Cockburn Williams 2000. Additionally, the students who paired
were more likely to succeed in programming courses than those who solo program Williams et al. 2003.
Pair programming leads to improved comprehension and learning. Researchers observed
that when pair programming is conducted with students, The pairing students improved their
understanding of the programming process Preston, 2005 and enhanced their learningparticularly on the
part of the novice developerSison,2008; Williams, 2010.
Pair programming leads to increased enjoyment of programming. Researchers observed
that pair programming conducted with sophomore- level undergraduates, created a laboratory
environment conducive to more active learning and are more enjoyable than traditional labs
Songsriwittaya, 2011. Additionally, the researchers found that the students working in pairs were more
satisfied and that pairing increased the happiness of developers Songsriwittaya, 2011; Phongpaibul
Boehm, 2006; Cockburn Williams, 2000; Gallis et al. 2003.
2.2 Disadvantage of pair programming Pair programming could lead to pair