Coding in the Elementary School Classroom
My goal as an educator is to lead my students to new ways of thinking, understanding,
and communicating in a digital world.
I know that if I teach my students
basic coding, they will be on their
way to learning those skills and have
a good time doing it. But I didn’t
expect this breathless comment to
spill out of the mouth of one of my
third graders after I taught her to use
Scratch. “I just started coding, and it
is like a new world!” she said. “It is
amazing because you get to almost go
into someone else’s brain and teach
them based on how they think.”
When I heard those words, I real-
ized my students were learning much
more than just HTML. Since start-
ing my journey with the Coding is
Common to the Core initiative in the
Paradise Valley Unified School District
in Phoenix, Arizona, I have looked
for innovative ways to implement the
ISTE Standards for Students (formerly
the NETS•S) and the Common Core
State Standards (CCSS) while teaching
my students to code.
I started the year with Scratch,
giving my students design-based
challenges to familiarize them with
the basic blocks. For example, after a
lesson on idioms, I had the students
create an animation in Scratch to illustrate an idiom. They unleashed their
imagination while demonstrating understanding and mastery of a concept.
Next, they would reflect on and
analyze the thinking they used while
programming. Here’s how one of my
fourth graders described his experi-
ence using Scratch:
I am working on an idiom project
—a taste of your own medicine.
It was pretty challenging because
most of the sprites they had
were not what I needed so I had
to create my own and my own
background and fix things up and
reprogram it to make it better. I
had to make my mad scientist disappear. When I was trying to do
that I tried to make my own block
and typed in “disappear,” but
when I clicked on that for him,
he just stayed there. Then I had
to make him move 240 steps so
you didn’t see him anymore, but
you could still see his hand. I’m
trying to make him “disappear,”
but it’s hard because I tried to get
the background to go over him,
but that didn’t work either (so)…
I’m looking around Scratch to see
how I can program it to set itself
up all over again.
Real-World Debugging Experience
Next, I gave my students a series of
debugging challenges, beginning
with some created by MIT’s Scratch
Ed team. This gave them exposure to
the process of solving glitches, and it
simulated the experiences of comput-
er scientists working in the real world.
Being put in a situation where they
were “stuck” spontaneously led my
students to a paired-programming approach that involved communication
and collaboration with their peers.
Instead of struggling independently
on complex tasks, they asked one another for ideas and leads to solve the
challenges.
For a performance-based assessment, I started a studio in Scratch
called Mak’s Debuggers (although one
student recently suggested I change
it to Mak’s Exterminators), where
my students created and submitted
their own debug-it programs for their
classmates.
Scratch also allows students to
tinker with existing projects. Using
the remix feature, they can redesign
another student’s project, adding their
own touches and personality while
learning from others in an informal
but authentic way.
As the students worked on their
Scratch projects, I also taught some
basic computer science concepts,
such as binary numbers, so that students would better understand how
computers work and refine their
computational thinking. Beginning
with a mini-lesson on binary numbers, I asked them to connect what
they learned to the eight standards for
mathematical practice in the CCSS.
LEARNING
Computer Science 26
Tip 28
Apps 29
Multidisciplinary 30
Science 32