High School Introductory Programming on Raspberry Pi Made from Scratch

High School Introductory Programming on Raspberry Pi Made from Scratch

Andy Luse, Bryan Hammer
Copyright: © 2017 |Pages: 13
DOI: 10.4018/IJPOP.2017070103
(Individual Articles)
No Current Special Offers


This article investigates the use of Raspberry Pi and Scratch to introduce novice high school students to computer programming during a short interaction. Results show that, with only a four-hour engagement, students show a significant increase in programming self-efficacy. Furthermore, results show that this increase is the same for both males and females. This provides promising results for those who wish to effectively introduce programming to novices, even over a short engagement period.
Article Preview


Programming education is a fundamental instructional component of many technology degree areas such as Computer Science, Management Information Systems, and Computer Engineering. One area of concern involves the recruitment of high school students to these majors and professions. Several authors have explored novel methods for effective teaching of programming to high school students including game-based programming (Al-Bow et al., 2009; Rursch, Luse, & Jacobson, 2010; Thomas, Ge, & Greene, 2011), robotics programming (Aschbacher, Li, & Roth, 2010), and virtual world programming (Rico, Martínez-Muñoz, Alaman, Camacho, & Pulido, 2011) just to name a few. Despite these and other methods of improved education, a shortage of programmers for available positions exists (Hilliard, 2015; Kokalitcheva, 2016) with the department of labor statistics estimating some 80,000+ openings over the next seven years (Bureau of Labor Statistics, 2014).

This shortage of programmers highlights a shortage of students interested in programming coming through the school system. One possible explanation for this shortage of student programming interest is because of the technical knowledge and skill required (Aschbacher et al., 2010). Research has shown that introducing computing concepts at an early stage prior to college is essential to developing confidence and interest in programming (Bunderson & Christensen, 1995; Byrne & Lyons, 2001; Taylor & Mounfield, 1994). Additionally, programming self-efficacy is found to increase performance, a key ingredient for developing interest (Ramalingam, LaBelle, & Wiedenbeck, 2004). Many research studies have investigated self-efficacy in programming, typically with experienced individuals using longitudinal studies. While previous research has investigated this use, most of this research has looked at a more prolonged engagement with high school students. Conversely, we are interested in methods to effectively engage students during a brief introductory programming activity. Many such students only have a short window when first exposed to programming, and this brief moment in time usually determines their interest. This research will focus on individuals with little to no experience with programming during such an introductory session.

Our study uses the Raspberry Pi to introduce programming concepts to novices. The Raspberry Pi offers a credit-card sized computer for less than $50 that has shown enormous popularity (Richardson & Wallace, 2012). As stated on their website, one of the primary motivations for the Raspberry Pi was to facilitate computer programming education (Raspberry Pi Foundation, 2017). One popular programming environment available for the Raspberry Pi is Scratch, which offers a visual, block-style programming environment for novices (Maloney, Peppler, Kafai, Resnick, & Rusk, 2008). This environment of Scratch on a Raspberry Pi offers a promising mechanism for teaching high school programming. Furthermore, use of Scratch has shown promise in instruction of both young men and women as an engaging introductory programming experience (Maloney et al., 2008). Additionally, the Raspberry Pi offers the ability to connect electrical components (e.g. LED lights, color sensors, barometers) that provide an added level of physical interaction, something important for novices. Given this, there remains a need to investigate the combined use of these tools in the efficacy of instruction for high school students, including how to effectively design modules to introduce programming to novices in a shortened period of time. Furthermore, we will look at the use of active engagement activities that can be used to introduce students to programming in general followed by a reification of these concepts using Scratch on Raspberry Pi. Evaluations are used to measure student self-efficacy with regard to programming to help evaluate the exercise.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 6: 2 Issues (2017)
Volume 5: 1 Issue (2016)
Volume 4: 2 Issues (2015)
Volume 3: 2 Issues (2014)
Volume 2: 2 Issues (2012)
Volume 1: 2 Issues (2011)
View Complete Journal Contents Listing