The project is no longer available

Exploring learners’ transfer from Scratch to Python

Transferring knowledge and skills from one language to a new language is a key requirement for a competent programmer, and yet teachers pay little attention to supporting effective transfer. Recent research has shown that the same skills humans use when transferring from one natural language to another are also used when transferring between programming languages. These skills sometimes aid transfer and sometimes hinder it. By paying attention particularly to the hindrances, teachers can improve learners’ outcomes significantly. This research, however, has only been validated in the context of learners moving between Python and Java.

Novice programmers in schools regularly transfer from Scratch as their first language to Python. Teachers are surprised that pupils find this difficult. While these languages may indeed seem very different, there are many similarities, particularly the core computational constructs of variables, loops and so on. The obvious differences are parallel vs sequential, event-driven vs imperative, and the built-in support for 2D animations in Scratch which appears to have no counterpart in Python. Transfer between the two languages could be significantly eased by developing a library that emulates key 2D animation functionality from Scratch, and early Python exercises developed to use the library. Then, learners would at least have a constant application domain, even while so many other aspects appear new.

The aim of this project would be to:

  • Assimilate the literature on programming language transfer, including Tshukudu and Cutts’s Model of PL Transfer for novices.
  • Develop a Python library to emulate key features of Scratch.
  • Develop a draft teaching sequence for use by teachers when transferring from Scratch to Python, using the “Scratch” Python library.
  • Work with a small group of teachers in Norway and Scotland who are willing to further develop and then trial the teaching sequence, gathering appropriate data about the experience.
  • Analyse and write up the results.

As one of the supervisors is primarily based in Scotland, much of the supervision will be via Zoom and the main language of communication will be English.

Tags: programming languages, teaching, learning
Published Oct. 12, 2021 11:15 PM - Last modified Aug. 31, 2023 8:30 AM