About Pytch

Pytch provides a bridge in the journey from Scratch to Python.

Motivation

The two most common teaching languages are Scratch and Python. Learners often start by working with Scratch, and then at some point want to make a transition to a text-based programming language; Python is a common choice.

Many factors make the transition from Scratch to Python a difficult one. Simplifying, we can see that there are two substantial differences:

  • Instead of assembling their program via drag and drop of interlocking blocks, the learner must type code into a text editor, attending to spelling, syntax, and so on.

  • Instead of an environment providing a set of concurrently running sprites, with built-in behaviours such as movement, costumes, and collision detection, the learner must work with an entirely new runtime, with a very different programming model.

Currently, the learner must make both these changes to their understanding at the same time.

Pytch’s contribution

We break this leap into two smaller steps. Pytch provides a programming environment with the familiarity of Scratch’s model and runtime, but where behaviour is expressed using textual Python code rather than blocks. Pytch projects resemble Scratch projects, with a Stage and as many interacting Sprites as required. The learner can concentrate on becoming familiar with Python’s syntax.

Status

The implementation is at the prototype stage. We would very much welcome feedback from people with experience of both Scratch and Python, particularly those involved in education!

Acknowledgements

We rely heavily on the following two excellent projects:

  • Scratch — MIT’s graphical programming environment, whose ideas are the motivation behind Pytch

  • Skulpt — an in-browser implementation of the Python language, on which we have built Pytch

Licence

See separate page:

Email

Author information