135x Filetype PDF File size 0.53 MB Source: www.raspberrypi.org
Raspberry Pi Foundation Research Seminars Section 3: Computing topics The role of block-based programming in computer science education David Weintrop (University of Maryland, USA) Weintrop, D.(2021). The role of block-based programming in computer science education. In Understanding computing education (Vol 1). Proceedings of the Raspberry Pi Foundation Research Seminar series. Available at: rpf.io/seminar-proceedings-2020 16 Raspberry Pi Foundation Research Seminars Section 3: Computing topics The role of block-based programming in computer science education David Weintrop (University of Maryland, USA) Abstract Introduction Block-based programming environments are Led by the popularity of environments like increasingly becoming the way that young Scratch, MIT AppInventor, and the growing learners are being introduced to the practice of ecosystem of programming environments programming and the field of computer science built with the Blockly library, block-based more broadly. Environments such as Scratch, programming is increasingly becoming the MIT AppInventor, Code.org’s AppLab, and block- way that learners are being introduced to based interfaces for physical devices provide the practice of programming and the field of inviting and accessible pathways into the world computer science more broadly (Bau et al., 2017; of programming. In this article, I share findings Resnick et al., 2009; Weintrop, 2019). Along with from a series of studies investigating the use of virtual programming environments, a growing block-based programming in K-12 classrooms. number of physical devices support block-based In particular, this research compares block- programming, including Sphero, BBC micro:bit, based programming to conventional text-based Lego Mindstorms, and several block-based programming languages and explores the programming environments for the Raspberry transition from introductory block-based tools Pi family of microprocessors. While not a recent to professional programming languages. The innovation (block-based environment first results of the study found that high school emerged in the mid-1990s), the last decade has students score better on tests after learning seen a blossoming of block-based programming to program in a block-based tool compared to environments and computing curricula that peers who learned with a text-based language. rely upon block-based tools. A recent review The study also found that after transitioning to a of the academic literature identified 99 unique professional text-based programming language block-based programming environments (Java), there was no difference in programming (Lin & Weintrop, 2021). This has, in turn, lead performance in terms of scores on a content to a growing body of research seeking to assessment or differences in programming understand the affordance of block-based tools practices employed. The implications of these and articulate their role in computer science findings suggest that block-based programming education (Franklin et al., 2017; Grover & Basu, is an effective way to introduce learners to 2017; Price & Barnes, 2015; Weintrop, Hansen, programming but open questions remain about et al., 2018). As block-based tools become more how to best integrate it into formal classroom widespread, it is important that we as educators instruction. understand the affordances and drawbacks of these environments so we are best able to 1 Raspberry Pi Foundation Research Seminars Figure 1. The Scratch programming environment (left) and a block-based program written in Scratch (right) support learners early in their computer science programming-command-as-puzzle-piece careers. metaphor to visually convey information about the programming commands available to the The goal of this article is to present findings user and how they can be used (Figure 1). from a series of research studies seeking to Through the inclusion of visual, organisational, understand the impact of using block-based and audio cues, block-based programming programming environments in classrooms. environments can help novices write functioning In particular, we pursue questions seeking programs from the start. The defining feature of to understand how block-based instruction block-based programming environments, and compares to text-based instruction and to the source of their name, is that programming understand if and how the experience of learning commands are presented as blocks where the to program in a block-based environment shape of the block defines how and where it can better prepares learners for future text-based be used (Maloney et al., 2010). To assemble a programming. In doing so, this work seeks program, the user drags blocks onto the canvas to elucidate the potential role of block-based (the area where the program is written) and programming in formal education and equip snaps the blocks together, often accompanied educators to effectively use block-based by an audible click. Only valid combinations of programming as part of their instruction. blocks can be snapped together, in this way, block-based programming environments can What is block-based programming? prevent syntax errors by not allowing for invalid programs to be written. Block-based programming is a graphical approach to programming that uses a Along with the visual layout of the blocks, there 2 Raspberry Pi Foundation Research Seminars Figure 2. The block-based version of the Pencil.cc programming environment. are a number of other features that make block- The case for block-based programming based programming easy for novices with little prior programming experience. For example, A central and important question about the as part of a study of high school students potential role of block-based programming learning to program, students talked about how environments in formal education is whether or the arrangement of available blocks (left side not students learn computer science concepts of Figure 1) made it easy to figure out what when programming in block-based environments. was possible in the programming language A related question is how students learn (Weintrop & Wilensky, 2015a). Students also with block-based environments compared to talked about how the drag-and-drop approach comparable text-based programming languages? to assembling programs was easier than typing In other words, do students learn more in blocks in programming commands one character at a or text? To answer this question, I conducted time. This is especially true considering many a quasi-experimental study in two high-school programming languages require the user to type computer science classrooms. Students in in uncommon and often mysterious punctuation one classroom learned using a block-based as part of writing a functioning program. Another programming environment (Figure 2) while feature of block-based language students students in the other classroom used a text- cited as contributing to their ease-of-use is based programming environment (Figure). how the blocks themselves are easier to read Importantly, everything about the environments when compared to a conventional text-based was identical aside from the way programs language. As one student said, “Java is not in were presented and authored, including the English it’s in Java language, the blocks are in programming language itself, which was the English, it’s easier to understand”. Collectively, exact same character-by-character between the these various affordances lead learners to two environments. The study began on the first perceive block-based programming to be easier day of school and lasted for five weeks with both for novices. classes going through the same curriculum and being taught by the same teacher. As much as 3
no reviews yet
Please Login to review.