Just the other night, I had the great pleasure of joining the Chicago Women Developers Meetup group for their tutorial of a beginner-friendly programming tool called Scratch. Made by the folks at the MIT Media Lab, Scratch is a free, robust little interface and code compiler all in one, and it is geared toward making programming basics fun and broadly accessible.
I've taken a look at Scratch before and could quickly see its advantages for kids: it has some built-in graphics and sounds that kids can begin applying to their projects immediately, which no doubt overcomes a lot of the most intimidating things about developing a new program: staring at a big, blank text document and wondering how that will ever translate into a working program. But what I wasn't certain about how teachers have been using Scratch in their classrooms and how students have been responding.
![]() |
Scratch provides graphics, sounds, and a friendly interface that make it easy to get a quick start. |
But after seeing a good chunk of what Scratch has to offer, I couldn't help but leave the meeting with a nagging little doubt in the back of my mind: is Scratch really the best approach to teaching programming?
For early elementary school kids, the appropriateness of Scratch seems beyond doubt to me. The drag-and-drop interface eliminates the need to first teach kids typing skills, and the colorful included graphics undoubtedly keep the kids' eyes from immediately glazing over at the prospect of programming. But for somewhat older students, does it make sense to teach programming with a tool that has no real-world use?
By the time students are approaching the sixth and seventh grades, they're reading the likes of Dickens, Bradbury, Tolkien, and Stevenson. They should be able to work with ratios and solve math problems containing variables. Call me crazy, but I think if they're expected to be able to handle these kinds of intellectual challenges, then there's no reason why they couldn't also be reasonably expected to handle using a basic text editor and writing up some simple code in Python or Javascript
Am I too much of a dreamer? Am I drastically overestimating what my capabilities were as a middle schooler? I like to think not. I understand that Scratch makes it easy for kids to understand basic, abstract programming principles and logic by eliminating the tedious real-world difficulties of figuring out how to package and deploy code as a real software application. But for me, overcoming those difficulties and seeing my code live and functioning in-the-wild, so to speak, is half the satisfaction of being a developer.
When I was in middle school, I remember working with applications similar to Scratch insofar as we then had to drag and drop pieces of instructions to satisfy the constraints of a particular challenge or prompt. And I also remember hating those activities because they were totally artificial and felt like busywork. My love for development didn't begin until a teacher one day told me she needed a website and told me to figure out how to build one. Suddenly, that goal of needing a real, functional website inspired me in a way none of the canned scripting lessons I'd had up until that point ever did.
![]() |
Lego buildings can be very impressive, but I still wouldn't want to live in one. |
The Women Developers meetup group was a great opportunity to begin exploring Scratch, but I still have many unanswered questions for today's teachers. Is it too idealistic to think our kids can handle real programming languages by middle school? What tools would you, as teachers, need to be able to think about leaving Scratch behind and begin teaching middle-school age students and above intro programming in real languages? Would you need graphics and sound packs? Tutorials? Infrastructure for sharing projects? Can current developers create better tools to help you, or do you think Scratch is good enough? Please, share your thoughts below!
No comments:
Post a Comment