Scratch Programming

You might have heard of one of the many calls to “teach kids to code.” Calls for curricular reform are certainly not a new phenomenon in education – they are often well-meaning but they also tend to overlook some of the complexities of curricular reform. It is important to question any particular educational approach that might be held as a panacea for the challenges facing education today. That said, we recognize that there is something important that our Maker Pedagogy Lab can learn from the work being done to make learning to program an accessible goal for students and teachers.

A programming language known as “Scratch” seems particularly well-suited to our developing understanding of maker pedagogy. It encourages programmers of all ages to design and create their own programs as well as adapting and deconstructing (ethically hacking) existing Scratch programs created by others. We support the work done by the Scratch Team at the Lifelong Kindergarten group at MIT Media Lab. Dr. Mitch Resnick of the MIT Media Lab had the following to say in a TED talk he gave titled “Let’s teach kids to code”:

It’s useful to make an analogy to reading and writing. When you learn to read and write, it opens up opportunities for you to learn so many other things. When you learn to read, you can read to learn. Now some of the things you can learn [from coding] are sort of obvious. You learn more about how computers work. But that’s just where it starts. When you learn to code, it opens you up to learn many other things . . . . When you become fluent with reading and writing, it’s not something that you’re doing just to become a professional writer. Very few people become professional writers. But it’s useful for everybody to learn how to read and write. Again, the same thing with coding.

One of the things that I like about Dr. Resnik’s talk is that he introduced some nuance to why one might encourage students to learn to code. For Resnik et al.(2009) “digital fluency requires not just the ability to chat, browse, and interact but also the ability to design, create, and invent with the new media” (p. 62). In our Maker Pedagogy Lab, we are conducting research into how teaching future teachers how to code might contribute to the development of what we refer to as maker pedagogy.

The Scratch programming language is highly accessible to those who have never programmed before and that it requires no initial financial outlay to “get coding.” One needs only a computer, browser, and an internet connection. Programmers choose from a library of scripts in general categories such as motion, control, sensing, and operators to create interactive stories and games staring “sprites” (images) in any number of backgrounds. One of the strengths of Scratch is that it allows the programmer to receive instant feedback on the program as it develops.

There are a plethora of resources available for Scratch online:

A paper written by Resnick and colleagues about the Scratch language: PDF

Resnick, M., Silverman, B., Kafai, Y., Maloney, J., Monroy-Hernández, A., Rusk, N., … Silver, J. (2009). Scratch: programming for all. Communications of the ACM, 52(11), 60–67.

Posts Related to the Use of Scratch in the Maker Pedagogy Lab