CAS Community   >   Resources   >  

Patch - from Scratch to Python

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

Bill Robinson

Created by Bill Robinson
last edited Apr 13 2017 by Bill Robinson

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)

Downloaded 315 times.


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.

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

Feedback and Comments

Available when logged in (join via the front page, for free):
  • View 10 comments on this resource.
  • View resource history, links to related resources.
  • Leave feedback for the author(s), or help by editing the resource.