Exploratory Procedures in Programming

Alex Hadwen-Bennett is investigating the use of physical programming languages to teach visually impaired children to program. Physical programming languages use physical blocks or pods to represent commands. These blocks or pods can be connected together to form programs. For example, the Torino physical programming language, currently under development by Microsoft Research, enables learners to create programs that produce sound, music or poetry. You can read more about Torino by following this link: Project Torino Blog Article.

From left, Lexy Ryan, 13, and Theo Holroyd, 10, use Project Torino. The physical programming language is designed to be inclusive of children with visual impairments.
From left, Lexy Ryan, 13, and Theo Holroyd, 10, use Project Torino. The physical programming language is designed to be inclusive of children with visual impairments. Photo by Jonathan Banks.

The project aims to explore how visually impaired children develop an understanding of physical programs using their hands. The term exploratory procedure can be used to describe the different combinations of hand movements learners use to discover physical programs.

The project has begun its first phase and Alex is currently looking for participants. If you would like to find out more and how you can participate, please follow this link: Phase 1: Identifying Exploratory Procedures.

Why is this important?

From the age of 5, children in England are expected to start to learn the basic concepts of programming. In primary schools the most popular type of programming language is block-based, these are intrinsically visual and therefore inaccessible to visually impaired learners. Physical programming languages such as Torino are a potential alternative to block-based languages, however they are a relatively new development and therefore research relating to their use in the classroom is sparse.

This project aims to begin building a picture of how visually impaired children learn with physical programming languages, and to use this knowledge to develop research informed pedagogy for teaching with physical programming languages.