Learn to code by tinkering

September 30, 2015 by wendy


Python Turtle Program
epicness by Delta MakerLab summer camper

I recently came across a paper written by Mitchel Resnick, head of the Scratch team, and Eric Rosenbaum, co-creator of MaKeyMaKey, called “Designing for Tinkerability” that caught my attention. It made me wonder. What is tinkering? Why is it important? And are there tools that teach coding which promote tinkering? Let’s find out!

What is tinkering?

According to Resnick and Rosenbaum, tinkering is playful, experimental, and iterative. It allows the learner to constantly explore, try new ideas, and refine their work. Instead of starting at the top with a concrete goal and working their way down, tinkerers start at the bottom by experimenting with different possibilities and work their way up to their goal.

Why is tinkering important?

Tinkering is important because it promotes creative thinking and resilience. Tinkerers learn to iterate, adapt, and take risks. It may seem like tinkering is aimless and tinkerers don’t fully understand what’s happening, but as Resnick and Rosenbaum point out, they understand bits and pieces that will eventually fit into a bigger picture.

Tinkerable coding tools

For a tool to be tinkerable, Resnick and Rosenbaum say that it must incorporate three key principles: immediate feedback, fluid experimentation, and open exploration. Here are a few websites that encourage tinkering for you to try.

  • Scratch – Scratch definitely implements all three principles. When coding in Scratch, you can click on blocks to immediately see what they do, it’s easy to get started, and you can create and share a variety of different projects.
  • Trinket – When writing a Python program in Trinket, you can click on the run button to see what your program does. You can also import modules like Turtle to build different kinds of projects. If you combine Trinket with Code Club projects, it’s also really easy to get started.
  • Thimble – Thimble by Mozilla is an online editor that allows you to create your own webpages. When you type in the editor on the left side of your screen, the preview of your webpage on the right updates straight away. They also have projects that you can remix into your own version so that you can get started quickly.