Scratch - Limitations
While I’m still a big advocate of Scratch as a constructive environment for children to learn programming along with powerful ideas in mathematics and science, I have run across several limitations.
Limitations are common in engineering. Limitations - often referred to as trade-offs - are a part of every project. I had one coworker (Electrical Engineer) who used to say - “I can do it fast, good, cheap; pick 2 out of 3.”
In a classroom situation using Scratch to demonstrate a concept, I suspect students will run across these limitations occasionally. Usually, all that is needed is a creative trade-off. I can’t figure out how to make _____, but this other idea I can do is pretty good.
In my efforts to think through ways in which Scratch could be used by kids in a classroom situation to demonstrate their knowledge of a scientific concept, I started thinking about Radiocarbon dating (OK, so I have odd thought patterns!). Suppose the class has 20 - 25 kids and 5 computers. What could a teacher do to make a constructive use of Scratch to help kids understand Radiocarbon dating. The following came to mind.
- Break kids into 5 small groups.
- Break out the basic concepts of Radiocarbon dating… I break them down as
- How is Carbon 14 created?
- How does Carbon 14 break down?
- What is half-life?
- How does the concentration of Carbon 14 change over time?
- How does Radiocarbon dating work?
- Allow the groups to choose one of the questions to study. Each group studies their question (with the teacher acting as a collaborator / consultant as needed) and creates a Scratch project to demonstrate the concept.
- The groups present their projects to the class and answers questions from the rest of the class.
I think such projects could let the kids assume multiple roles; researcher, designer, programmer, teacher, and mathematician (at least in 1 or 2 of the projects). Do you think the students’ understanding of Radiocarbon dating would be enhanced by such an assignment?
OK, back to limitations. The most mathematically complex of the questions has to do with the concentration of Carbon 14 over time, so I started thinking about how one might construct a Scratch project to demonstrate his knowledge of this concept (and teach the other classmembers). Several ideas came to mind - and met with the limitations of Scratch. Ideas and limitations included:
- Given a starting number of Carbon 14 atoms, calculate the number of C-14 atoms at times in the distant future. But Scratch has limited math capabilities. The concentration decreases as an exponential function. Scratch has no provision for trig, logarithmic, or exponential functions.
Trade-off? Increase time by half-lifes and hard code in the number of C-14 atoms at each time. - Somehow graphically represent the number of C-14 atoms remaining. Well, we could draw a sprite for each C-14 atom and have them disappear or change colors as time increases. But Radiocarbon dating is good to about 60,000 years or 11 half-lifes. To have even 1 C-14 atom left after 11 half-lifes, we have to start with 2048 sprites. But Scratch has limited sprite capabilities. To manually create and place the 2048 sprites would be a tremendous amount of work.
Trade-off? Maybe draw a graph of the number of atoms over time manually and have a pointer sprite move along the curve as time changes to illustrate the passage of time. (I used Excel to do the calculations and draw the curve).
My project looks like the picture to the right. This project does illustrate the concept pretty good.
- Students can see that the number of C-14 atoms drops off over time.
- The concept of half-life can be explained from the project.
- Students can see why radiocarbon dating wouldn’t be good for really long periods of time (sensitivity of detection / measuring equipment becomes extremely critical).
Run the project here. Download the project file here.
The biggest problem I have with the project is the graph… for several reasons:
- Students probably don’t learn about exponential curves until their upper High School years (anyway, my Sophomore daughter in Algebra II hasn’t yet encountered them in any meaningful way). It’s also not clear at what age a student would have sufficient experience with both the math (exponential functions) and Excel (creating data sets and charts) to be able to create the graph.
- Given the curve, a 6th or 7th grade student (11-12 years old) could probably create the project. However, I doubt that the graph (with C-14 atoms / 10’s of thousands of years) will really convey the information to a student of this age. Some sort of interaction allowing them to change the half-life or time scale interactively may be better - but beyond Scratch’s capability.
- It is likely possible to let Scratch draw the graph as a series of lines (a sprite moving between points with its pen down) at half-life intervals. Then the student could play with several variables (starting C-14 atoms, half-life, total time, …) and get a better feel for the concept. In my experience with other development environments, this isn’t so hard to do for a particular data set. But if one wants to be able to change things to see what happens, one must implement some sort of auto-scaling - which would likely make the project too complex for students younger than high school.
So what can I conclude??? Scratch is a powerful environment for constructive learning. However, it has limitations, some of which I’ve mentioned above. As project complexity increases and knocks on the door of Scratch’s limitations, one needs to design clever trade-offs or consider moving to a constructive environment with more capability (such as NetLogo, MicroWorlds, and probably Squeak). As always, I’d certainly appreciate any comments and suggestions.
P.S. Another limitation is that Scratch does not allow for string variables - nor does it support the methods normally available in Logo to manipulate string variables.