The 16th Workshop in Primary and Secondary Computing Education | 2021

Pytch — an environment for bridging block and text programming styles (Work in progress)

 
 

Abstract


Block-based programming languages, and Scratch in particular, are widely used to introduce young learners to programming. As these students progress through their education, they want or need to transition to using text-based systems and encounter a number of challenges as they do so. Issues with syntax, text editing, and memorisation are all significant, but the change of programming paradigm is also a challenge. This paper discusses the design and development of a system to help students make the transition to text-based programming environments more easily. Sprites, animations and sound form the basis of most Scratch programs and these engaging features become unavailable at the same time as students are facing transition difficulties related to text editing and program structure. From programs designed in an actor-based event-driven system with easy concurrency, students have to move to procedural or class-based programs where multimedia features are accessed quite differently and programs are designed around explicit event loops. In this paper we introduce a new programming system, Pytch, which embodies “Scratch-Oriented programming” in Python. Using a web-based environment that requires no local setup, students can build Python programs using the familiar sprites and concurrent event-driven model learned in Scratch. The system offers the programming model inspired by Scratch through a Python library and a runtime augmented with a form of managed concurrency. The motivation and related work are discussed, and the system is presented in its current form. The next stage will be to evaluate the effectiveness of the system with users.

Volume None
Pages None
DOI 10.1145/3481312.3481318
Language English
Journal The 16th Workshop in Primary and Secondary Computing Education

Full Text