SPLASH 2022
Mon 5 - Sat 10 December 2022 Auckland, New Zealand
Mon 5 Dec 2022 10:45 - 11:00 at Seminar Room LG004 - Session 2

Processing is a popular graphical library and IDE developed for electronic art and visual design communities, with a strong focus on teaching art, design, and creative-technologies students computer programming fundamentals in a visual context. Processing provides a collection of special commands to draw, animate, and handle user input using Java. Users can enable Python Mode (also called Processing.py) for Processing in the IDE interface. This leverages Jython, a Java implementation of Python, to interface with Processing’s Java core, providing a way to write Processing code using Python syntax.

Studies highlight Python’s strong and growing presence in introductory Computer Science curricula, courses for different domains that employ programming, and other educational environments. However, Processing.py’s Jython implementation has its limitations: it is source-compatible with Python 2.7 (not 3+); it does not support CPython libraries, such as NumPy for handling complex matrix operations or Pymunk for simulating 2D physics. Several promising new Python-Processing tools have emerged, but no attempts to integrate one of the most promising, the py5 library created by Jim Schmitz, into a Processing-like-IDE experience that is as approachable and easy to just-run-and-start-coding as Processing.

This paper presents a new development environment, thonny-py5mode, that the author developed as a software plug-in for the Thonny IDE (a beginner-oriented IDE for Python programming). The plug-in includes assistive features for auto-completion, colour-mixing, converting code between Processing.py and py5, an accompanying cheat sheet, and more. The plug-in provides a much-needed successor to the Processing IDE’s Python Mode coding experience. It transforms Thonny into a creative computing environment by adding features that employ Processing’s core libraries to generate interactive, visual output via py5 – including Python 3 support, module/class/imported/static modes, named and shorthand hexadecimal colour values, NumPy methods for selecting and manipulating pixels, profiler functions, and OpenSimplex 2 noise.

Mon 5 Dec

Displayed time zone: Auckland, Wellington change

10:30 - 12:00
10:30
15m
Talk
Integration testing can be reliable and low-effort in a projectional IDE through snapshots - DEMOVirtual
PAINT
Bastian Kruck itemis SECURE // Hasso Plattner Institute
10:45
15m
Talk
Towards a Python 3 IDE for Teaching Creative Programming
PAINT
Tristan Bunn Victoria University of Wellington, Craig Anslow Victoria University of Wellington, Karsten Lundqvist
11:00
15m
Talk
Conjecturing on a Fundamental Theorem of Computation and its Implications for a New Theory in Programmer Experience Design
PAINT
Gary Miller University of Technology Sydney
11:15
15m
Talk
Domain-Specific Visual Language for Data Engineering Quality
PAINT
Alexis De Meo Trove, Michael Homer Victoria University of Wellington
DOI Pre-print
11:30
15m
Talk
Blocks, Blocks, and More Blocks-Based Programming
PAINT
Benjamin Selwyn-Smith Oracle Labs, Craig Anslow Victoria University of Wellington, Michael Homer Victoria University of Wellington
DOI
11:45
15m
Talk
Interleaved 2D Notation for Concatenative Programming
PAINT
Michael Homer Victoria University of Wellington
DOI Pre-print