281x 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.