Patch - from Scratch to Python

last edited Apr 13 2017 by Bill Robinson | Created by Bill Robinson | Other contributors:

An IDE to assist the learning of algorithmic thinking and its transfer when moving from blocks to text-based programming

Patch is a substantially re-written version of Scratch, aimed at pupils moving from block-based to text-based programming using Python; it is based on the original work by MIT and its subsequent extensive modification by Tim Rowledge on behalf of the Raspberry Pi Foundation.

A paper on Patch was presented by the author at WIPSCE 2016, but its main features are:

  • Natural-language type-in pseudocode blocks to support algorithm development.
  • Functions (with return values) which may be called from/on any sprite.
  • Single-step tracing to assist debugging.
  • Python-like indentation and iterators to familiarise learners with these important language features.
  • Python-like list syntax and 0-based indices to leverage Scratch’s visualisation of lists.
  • Clones, individually accessible via the clone’s original sprite.
  • Script-local variables, which indicate visually when they are “undefined”.
  • Drawing of graphics primitives on stage independently of any sprite.
  • Enhanced operators for strings, date and time, comparison.
  • Mesh networking enabled (shift + Edit menu)
  • Updated UI

Patch runs on multiple platforms (anywhere the fabulous Squeak 5.1 environment will run), and the version available here can be installed by simply unzipping into any folder you choose.

It’s still a beta, but should not be able to any damage to anything but itself - if you encounter a problem just kill the application (without saving what could then be a corrupted Patch image file) and relaunch. NB. Please note .sb and .sb2 files are not compatible with Patch - you’ll have to start from Patch (ahem…)

Bug reports are very welcome - please send to me at

Patch has been developed with considerable support and encouragement from Sue Sentance, for which I am extremely grateful - thank you very much Sue!

LICENCE TERMS: The original source code for Scratch was released under the Scratch Source Code Licence, and its reworking by Tim Rowledge was released under the MIT licence. Patch is released under the same terms.

Level: (Beginner / Intermediate/ Advanced)


By downloading this resource you agree to the CAS resource guidelines and use it appropriately.

Note: Unless otherwise specified, this resource and all associated files are published here under the Creative Commons Attribution-Share Alike 3.0 Licence. If you wish to use a different license, please state this in the description.

Read our resource guidelines

Feedback and Comments

Available when logged in (sign-up, for free):
  • View 3 comments on this resource.
  • View resource history, links to related resources.
  • Leave feedback for the author(s), or help by editing the resource.

This resource has attached files: to access these files, please tick the box below to assent to the license terms

License: The resources on CAS website are under Creative Commons Attribution-Share Alike 3.0 licence unless otherwise specified by the resource creators.

You must confirm that you have read and agree the licence's ToS before you can download the attachments of this resource.

It has been downloaded 203 times.

I have read the licence agreement of this resource and agree to abide by its terms and conditions.