Scratch is a miracle. It’s popularity as a creative computing environment and its ubiquity around the world are truly impressive. Millions of children use the environment and have shared tens of millions of projects for others to enjoy and remix.
Scratch is a descendent of the Logo programming language. Logo was the first, and I would argue best, programming environment ever designed for children and learning. Logo is over fifty years old. While this would seem to be a million years old in technology years, Logo not only remains powerful in the hands of children, but benefits from a half-century worth of research, project ideas, and collective pedagogical wisdom.
Scratch adds media computation to the Logo bag of tricks available to kids. The sort of storytelling projects created in it appeals to adults who value kids being engaged in creative acts. A large part of Scratch’s appeal is the enormity of its project library full of projects that look like anyone can make them. It is also worth remembering that Scratch was originally designed for use in afterschool programs where teaching could not be guaranteed. Kids look at Scratch and know what to do. These are powerful and legitimate design features that contribute to its popularity.
Logo on the other hand was designed as a vehicle for education reform and created a “microworld” in which children could be mathematicians rather than just be taught math. Kids using Logo often fell in love with mathematics and felt intellectually powerful for the first time. Logo introduced the concept of the turtle, a representation of the child’s place in physical space, and turtle geometry, a math connected to movement in the real world. The turtle matched the intensity of children, captured their imagination, and was their collaborator in constructing mathematical knowledge. In 1968, Alan Kay first imagined the Dynabook, the progenitor of the modern laptop or tablet computer, after observing children programming in Logo. Kay recalls being amazed by the sophisticated mathematics young children were engaged in. Fifty-two years later, I feel the exact same way every time I use Logo with children.
*Today, a 5th grader came bounding up to me to announce, “Look what I accomplished!” She had taught the Logo turtle to draw a fraction, a bit of curricular detritus that normally invokes dread. In the process, she simultaneously demonstrated understanding of fractions, division, angle, linear measurement, and was on the verge of understanding variables all while teaching the turtle to draw. Turtle geometry may be the greatest mathematical prosthetic ever invented for learners. Logo creates a Mathland in which “messing about” and learning mathematics is as natural as a child develops oral language.
Math is the weakest link in every school. It remains the center for misery and instructionism in most. Seymour Papert taught me that the teaching of math ultimately jeopardizes all other efforts at educational progress. There is no gap as wide as the gulf between mathematics – a jewel of human intellect, and school math. Papert believed that even the most progressive schools become undone by the traditional diet and pedagogy of school math. He often discussed the need to create a mathematics children can love, rather than inventing tricks for teaching a “noxious” irrelevant math. Papert convinced me that no matter how project-based or student-centered a school happens to be, there remains a part of the day or week (math time) when coercion is reintroduced into the system. That is ultimately coercive to the nobler aims of the institution. Logo is and has been one of the few Trojan horses available for helping teachers rethink “math” on behalf of the kids they serve.
I fear for the future of such experiences in a world in which software has no value and there is no incentive for modern Logos to be created.
I just spent several hundred words stipulating that Scratch is a good thing. However, decisions were made in the evolution of Scratch that undermine its ability to make mathematics comprehensible, wondrous, relevant, and accessible for learners of all ages. Scratch could maintain fidelity to the powerful ideas inherent in Logo while adding all of the storytelling, animation, and media manipulation in a Web-based programming environment, but the designers of Scratch have decided to do otherwise. In fact, the most recent version, Scratch 3.0, has made it either too difficult or impossible to create the sorts of experiences I desire for my grandchildren and the children I’m privileged to teach.
I truly do not wish to step into the minefield of arguing about everyone’s favorite software, but my concerns are legitimate. I know readers may be thinking, “Hey, design your own software if you love Logo so much!” This is impossible in a world in which software has no value and there is no incentive for modern Logos to be created. Scratch benefits from mountains of government, university, and corporate funding, making it the 900-pound gorilla in coding for kids. That’s a good thing, but it could be better. My hope is that as Scratch evolves, consideration is given to bringing back some of the powerful mathematical ideas that have been lost.
Let me get specific. The following examples are a non-exhaustive list of the ways in which Scratch makes my life more difficult as a teacher and teacher educator concerned with providing authentic mathematical experiences.
Putting the turtle out to pasture
Perhaps the most enduring and kid-imagination-capturing metaphor of Logo programming goes like this:
[Teacher] “The turtle has a pen stuck in its belly button. What do you think happens when it drags its pen?”
[Kids] It draws!
This sounds simple, but is at the heart of what makes Logo a powerful, personal experience. Placing a transitional object representing ourselves inside of the machine is an instant personal invitation to programming. Drawing, with a crayon, pencil, or turtle is the protean activity for representing a child’s thinking.
Drawing or painting with the mouse is fine but denies children opportunities to express mathematical formalisms in service of drawing. There is fifty years’ worth of scholarship, joy, and powerful ideas associated with turtle graphics – often a user’s first experience with thinking like a mathematician and debugging.
Scratch 3.0 inexplicably demotes its pen blocks (commands) to software extensions. The extensions are hidden until the user un-hides them. All of the other Scratch 3.0 extensions support either external hardware control or more advanced esoterica like interactive video, language translation, or text-to-speech functionality. I appreciate that part of Scratch’s success is its clean design and lack of clutter. However, pen blocks are seminal and were integrated into previous versions. This design decision has several negative consequences.
- It complicates the possible use of turtle graphics by requiring finding the location of the extensions button and clicking on the pen extensions
- It implies that turtle graphics (drawing) is not as valuable a form of expression as animation.
- The symbol on the extensions button is highly non-intuitive.
- The pen blocks, once the extension is loaded, appear near the bottom of the block palettes, far from the motion blocks they rely on. This makes block programming cumbersome when the focus is turtle geometry.
The turtle has a pen stuck in its nose? Ouch!
In Scratch, the sprite draws from the perimeter of its shape, not its center. This makes precise movement, predictions about distances, and drawing precision much more difficult.
There are no turtle costumes for sprites
The turtle head points in the direction that matches “Forward” commands. This is obvious to even the youngest programmers. In Scratch, even if one wanted to use the turtle, there are no turtle costumes. Neither the turtles found in systems, like Turtle Art, MicroWorlds, Lynx , or even the old 70s-80s era turtle are provided. While it is possible to design your own Scratch costumes, you would be required to do so for every project, rather than merely adding sprite costumes to the system.
It is easy to explain that the “turtle may wear other costumes you design,” telling the kids that “the sprite could be a turtle that you can dress in custom costumes,” adds needless complexity.
No Clean, CG, Home, or CS
Nearly every other version of Logo has a Clean command for erasing the screen, CG, or CS for erasing the screen and repositioning the turtle at the center of the screen with a compass orientation of zero. Commonly found, HOME commands, send the turtle back to the center of the screen at coordinates, [0 0]. These are all simple concepts for even young children to quickly grasp and use.
Scratch’s pen extension Erase All block wipes the screen clean, but neither returns the sprite to home nor reorients a “dizzy turtle.”
Sure, if a teacher wants students to have a block performing the roles of Clearscreen, Scratch allows them to Make a Block.
The problem with doing so is that Scratch leaves the blocks you create, complete with their instructions, in the blocks palette – cluttering up your workspace. The definition of the “new” block cannot be hidden from users, even when the new block appears under My Blocks. Even more critically, there is no simple way to add pseudo-primitives (user-created blocks) to Scratch 3 for use by students each time they use the software. Therefore, you need to recreate Clearscreen in every new project.
[Making your own blocks is buggy too. Make your own block. Drag that stack of blocks, topped by Define, off the screen to delete it. Press Undo (Apple-Z or CTRL-Z). The definition stack of blocks returns, but not the new block under My Blocks until another block is created.]
The default sprite orientation is 90
When you hatch a sprite in Scratch, its orientation is towards the right side of the screen with an orientation of 90. If one hopes for children to construct understanding of compass orientation based on Mod 360, orienting the sprite/turtle to 0 is more intuitive. Since the turtle is a metaphor for yourself in space, your orientation is up, or 0 when facing the computer to program it.
For many kids, one of the most intoxicating aspects of turtle graphics comes from commanding the turtle to go forward a large number of steps. In many ways, it’s a kid’s first experience with big numbers. Turn the turtle and go forward a million steps and get a crazy wrapping pattern on the screen. Add some pen color changes, turns, and more long lines and math turns into art turns into math.
Scratch has no wrapping due to its focus on animation and game design. There could be a way to toggle wrap/no wrap. But alas…
Units are unnecessary
Not only are they unneeded, but educationally problematic. Far too much of math education is merely vocabulary acquisition, often devoid of actual experience. I go into countless classrooms where I find a store-bought or handmade “angles” poster on the wall listing the various kinds of angles. My first question is, “Who do you think is reading that?” The kids certainly aren’t, but more importantly, “Who cares?” Kids are forced to memorize names of angles too often without any experience with angles. Turtle geometry changes all of that.
If you watch me introduce turtle geometry to children, I show them that the turtle can walk and turn. It walks in turtle steps. I never use the terms, angle or degrees, until either kids use them or much much much later. After kids have experience with angles and a growing intuition about their units of measure will I mention the words, angle or degrees. After experience, those labels hang nicely on the concepts and the terms are understood, not just parroted.
In Scratch, the turn right and turn left blocks include the label for “degrees.” This is quite unfortunate. The design of these blocks is particularly odd since they do not even use the words, right and left, but arrows instead. This is most peculiar when juxtaposed against the rest of the motion blocks which are excessively chatty with extraneous text for their inputs.
Why use symbols for right and left and not a straight arrow for move?
To make matters worse, the default degree value in Scratch is 15. Kids naturally turn in 90 degree increments. If the default were 90, as it is in Turtle Art, kids quickly realize that there are turns smaller and larger when seeking angular precision. This is a much more effective sequence for understanding angle measurement from the syntonic to the abstract.
One tacit, yet profound, benefit of teachers teaching with Logo is that they gain experience teaching mathematics without front-loading vocabulary. In too many classrooms, kids are “taught” terms, like degree or angle, absent any experience. Logo-like environments offer the potential for teachers to appreciate how students may engage in mathematics unburdened by jargon. After children enjoy meaningful experiences and “mess-about” with the turtle, it is easy to say, “that’s called an angle,” or “the units used to measure angles are called degrees.” Those terms now have a powerful idea to hang their hat on.
Starting with units is not just unnecessary, it’s pedagogically unproductive.
Why are there blocks for turning right and left when there is only one move block? In Logo, Forward (FD) and Back (BK) are incredibly simple for children to understand and act out by playing turtle as a formal activity or in the course of programming. Move is ambiguous. Which way should I move? Forward and back make perfect sense.
Frankly, having a default of 10 in the move block is also a drag. For decades, teachers have experienced success by asking children, “How far would you like the turtle to go?” Kids suggest values and then are surprised by them. 10 is an arbitrary number. I might prefer 0 or a random integer as the default value for move. Such a change would force children to make a decision about the distance they wish to travel.
If you want the turtle to move backward, there is no back block. You are required to turn 180 degrees or move by a negative value.
Premature use of negative numbers
Introducing negative numbers and vectors the moment one encounters the turtle is premature and likely developmentally inappropriate. There is no reason for little kids to deal with negative numbers so soon when forward (fd) and back (bk) blocks could have been in the system, or at least as primitives under the pen extensions.
Multiple forwards provides kids practice with repeated addition, leading to multiplication.
Consider this simple example:
fd 20 fd 30 fd 100
Now you want the turtle to return to the midpoint of that line segment.
You can achieve that goal three ways, not including all of the repeated addition that might be used if a kid is not ready to divide 150 by 2 or figure out that a U-turn equals 180 degrees.
rt 180 fd 75
It is the possibility of solving even simple problems in multiple ways that is central to the genius of learning to think mathematically with Logo and the turtle. Sadly, the Scratch use of “move” to replace forward and back makes what was once a natural simple act, complicated or impossible.
PS: One more annoyance
Why are ask and answer in the Sensing palette? They get information from a user, but do not sense anything. Either move them or rename the Sensing palette, Data. Again, why lead the witness with the arbitrary “What’s your name?” value?
*Notes: This was largely written after a recent day teaching kids. I spent months deciding whether to share this with the world. The great Cynthia Solomon contributed to my thinking and Sylvia Martinez read a draft. Seymour Papert is in my head all of the time.
- Scratch – web site for Scratch software
- ScratchEd – online community and resources for teachers teaching with Scratch
- LogoThings – Cynthia Solomon’s collection of artifacts on the history of Logo
- A Modest Proposal – ideas for using Scratch to learn computing and reading
- Lynx – web site for new generation of Web-based Logo
- MicroWorlds – web site for MicroWorlds software
- Turtle Art – web site for Turtle Art software
- The Daily Papert – archives of Seymour Papert writing, audio, and video
- The Logo Exchange – archives of the long-running journal for Logo-using educators
- Logo history discussion – video interview with Cynthia Solomon and Wally Feurzig, two of Logo’s creators
- Abelson, H., & DiSessa, A. A. (1986). Turtle geometry: The computer as a medium for exploring mathematics: MIT press.
- Harvey, B. (1982). Why logo? . Byte, 7, 163-193.
- Hawkins, D. (2002). The informed vision; essays on learning and human nature. NY: Algora Press.
- Newell, B. (1988a). Turtle confusion: Logo puzzles and riddles. Canberra, Australia: Curriculum Development Centre.
- Newell, B. (1988b). Turtles speak mathematics. Canberra, Australia: Curriculum Development Centre.
- Papert, S. (1972). Teaching children to be mathematicians versus teaching about mathematics. International Journal of Mathematical Education in Science and Technology, 3(3), 249-262.
- Papert, S. (1993). Mindstorms: Children, computers, and powerful ideas (2nd ed.). New York: Basic Books.
- Papert, S. (1999). Introduction: What is logo and who needs it? In LCSI (Ed.), Logo philosophy and implementation (pp. v-xvi). Montreal, Quebec: LCSI.
- Papert, S. (2000). What’s the big idea? Toward a pedagogical theory of idea power. IBM Systems Journal, 39(3&4), 720-729.
- Papert, S. (2002). The turtle’s long slow trip: Macro-educological perspectives on microworlds. Journal of Educational Computing Research, 27, 7-27.
- Papert, S. (2005). You can’t think about thinking without thinking about thinking about something. Contemporary Issues in Technology and Teacher Education, 5(3), 366-367.
- Watt, D. (1983). Learning with logo. New York: McGraw-Hill Book Co.
- Watt, M., & Watt, D. (1986). Teaching with logo: Building blocks for learning. NY: Addison-Wesley Publishing Company.
The Papert articles (above) are available here.
Veteran educator Gary Stager, Ph.D. is the author of Twenty Things to Do with a Computer – Forward 50, co-author of Invent To Learn — Making, Tinkering, and Engineering in the Classroom, publisher at Constructing Modern Knowledge Press, and the founder of the Constructing Modern Knowledge summer institute. He led professional development in the world’s first 1:1 laptop schools thirty years ago and designed one of the oldest online graduate school programs. Gary is also the curator of The Seymour Papert archives at DailyPapert.com. Learn more about Gary here.
3 thoughts on “Scratch and the Negligent Homicide of Mathland”
You left out the part about how Scratch user-defined procedures have to be sprite-local (because they display on some sprite’s scripting area).
(And you missed the chance to explain how Snap! fixes all these problems…)
Snap! fixes many of these problems (and many more) BUT it copied Scratch regarding Gary’s criticisms of MOVE, TURN, ASK. Compatibility with Scratch perhaps isn’t so important today. And some changes such as the default value for TURN could change in Snap! without introducing Scratch compatibility or backwards compatibility problems.
Thank you for always speaking truth, even if unpopular.
Not to mention leaving out Reporters (aka functions that return values).
I just don’t understand the reasoning for this. What is a Mathland without (recursive!) functions?
And, yes, thank heavens for Snap!
Scratch has accomplished so much. If only it would now use its powerful position to fix these things.
Comments are closed.