An impact comparison of two instructional scaffolding strategies employed in our programming laboratories: Employment of a supplemental teaching assistant versus employment of the pair programming methodology

Instructional scaffolding is a well-researched, commonly-practiced educational technique whereby support is temporarily provided as an individual learns [1]. Grounded in constructivist teaching and learning theory, scaffolding historically referring to support provided by a teacher to a student. However, in the modern learning environment, instructors have access to a wide range of tools and techniques with which to help them scaffold learners [2]. This paper reports the findings of a design experiment comparing the employment of two instructional scaffolding strategies in reducing the impact of large laboratory class size on undergraduate students enrolled in an introductory computer programming course having a mandatory laboratory component. The design experiment compared the performance of students on programming procedural knowledge assessments as well as programming self-beliefs in two offerings of the course, each treated as a cohort, which differed in the instructional scaffolding strategy employed in the mandatory laboratory component. In one cohort, an undergraduate teaching assistant was used as a supplement to the laboratory instructor while students completed programming exercises in the laboratory component of the course. In the other cohort, a cooperative programming methodology known as pair programming was used as a supplement to the laboratory instructor while students completed programming exercises in the laboratory component of the course. Cohort composition, including school of study (e.g., Liberal Arts, Science, Technology, Engineering, Business, etc.), student classification (i.e., freshman, sophomore, junior, senior, or other), gender ratio, and amount of prior programming experience, was comparable. Course content, administrative processes and assessment mechanisms (formative and summative) remained constant. Each student completed a summative assessment of programming procedural knowledge at weeks 7, 12, and 16 of the semester. Open ended feedback was solicited from each student via anonymous questionnaire during weeks 8 and 16 of the semester. Finally, each student completed a 19-item Likert-scale questionnaire investigating their self-beliefs on 5 constructs: debugging self-efficacy, programming self-concept, programming interest, programming anxiety, and programming aptitude mindset. The questionnaire employed to investigate self-beliefs is based on the Scott & Ghinea [3] instrument, modified for use in the specific context of the course. Our results indicate that the two scaffolding strategies provided comparable support to student learning during the first 12 weeks of the semester. However, during the last 4 weeks of the semester, the cohort scaffolded by a supplemental teaching assistant slightly outperformed the cohort scaffolded by employment of the pair programming methodology. This performance difference, though small, was statistically significant. Student programming self-beliefs, however, remained comparable between cohorts throughout the entire semester. Interestingly, the theme of ‘immediacy of assistance’ revealed itself during analysis of student open-ended feedback in both cohorts. These findings are considered using as lens Vygotsky's Zone of Proximal Development theoretical concept [4]. Implications are discussed for instructional practitioners considering employing these scaffoldings strategies in their own learning environments.