Is Pair Programming More Effective than Solo Programming for Secondary Education Novice Programmers?: A Case Study

Is Pair Programming More Effective than Solo Programming for Secondary Education Novice Programmers?: A Case Study

Stamatios Papadakis (Secondary Education Teacher, Crete, Greece)
DOI: 10.4018/IJWLTT.2018010101
OnDemand PDF Download:
No Current Special Offers


The teaching and learning of programming are often considered a difficult topic for both teachers and students, due to its complexity and abstract nature. The traditional teaching approaches are unable to contribute substantially to the development of the necessary cognitive models by the students, producing high rates of failure and dropout in introductory programming courses. In the last 30 years, the scientific community has not stopped looking for new pedagogical approaches and teaching techniques in introductory computer programming courses. Various studies have shown that pair programming under appropriate conditions may create an environment conducive to learning, leading to an increase student interest in programming. In this paper, the author presents the results of a pilot teaching intervention. The sample was collected among first-grade students of a high school in Greece. The results showed that the pair programming is more efficient than the solo programming, both on facilitating and supporting students' learning and understanding of basic programming concepts, as well as on improving students' attitudes toward programming.
Article Preview

Novice Programmers

Although programming, in general, can be used as a “mindtool” to help students in using modern technologies to solve problems (Jonassen, 2000), teaching and learning of programming are considered a difficult task both for teachers and students (Ivanović, Xinogalos, Pitner & Savić, 2016). High dropout rates and unstable attendance are common in introductory programming courses (Bennedsen & Caspersen, 2007; Hanks, Fitzgerald, McCauley, Murphy & Zander, 2011). There are clear indications that the traditional teaching approach both in universities and in secondary education is ineffective (Jimoyiannis, 2013) as there is a multitude of research data which show that the novice programmers have serious problems understanding even the basic programming concepts (Anfurrutia et al., 2016; Williams, McCrickard, Layman, & Hussein, 2008).

The difficulties faced by novice programmers in learning to program are well documented and are identified in the use of variables, logical operators and control structures, the loops, passing the values and running multiple threads simultaneously (Meerbaum-Salant et al., 2013). Novice programmers often fail to correctly apply the knowledge they have obtained (Ala-Mutka, 2004). Students may know the syntax and semantics of individual statements, but they do not know how to combine those elements in order to produce valid programs (Costa, Aparicio & Cordeiro, 2012). Students commonly have misconceptions concerning the creation of a program, such as variable initialization, loop conditions, indicators, data structures and recursion (Robins et al., 2003). They face similar problems with object-oriented programming paradigms (Guzdial, 2004).

Complete Article List

Search this Journal:
Volume 18: 1 Issue (2023)
Volume 17: 8 Issues (2022)
Volume 16: 6 Issues (2021)
Volume 15: 4 Issues (2020)
Volume 14: 4 Issues (2019)
Volume 13: 4 Issues (2018)
Volume 12: 4 Issues (2017)
Volume 11: 4 Issues (2016)
Volume 10: 4 Issues (2015)
Volume 9: 4 Issues (2014)
Volume 8: 4 Issues (2013)
Volume 7: 4 Issues (2012)
Volume 6: 4 Issues (2011)
Volume 5: 4 Issues (2010)
Volume 4: 4 Issues (2009)
Volume 3: 4 Issues (2008)
Volume 2: 4 Issues (2007)
Volume 1: 4 Issues (2006)
View Complete Journal Contents Listing