ECSEE 2025

Talk: The Toolbox of Functions: Teaching Code Reuse in Schools

Kloster Seeon, Germany
Mon, Jun 2, 2025Wed, Jun 4, 2025


Joey Bevilacqua presenting a poster about our short paper on The Toolbox of Functions: Teaching Code Reuse in Schools at ECSEE 2025.

Abstract

Large programs often contain duplicate parts, known as code clones. Programs riddled with code clones become difficult to reason about and modify. To avoid code clones and enable code reuse, programmers introduce abstractions such as functions and classes.

Because abstraction is so important, it should be explicitly taught in programming courses and appropriately supported by tools. Unfortunately, development environments, including some for novices, do not always encourage abstraction. Instead, they facilitate the creation of code clones and ultimately hinder code reuse. %Proper reuse is especially difficult when working across files and projects.

This paper presents the Toolbox of Functions, an approach for teaching code reuse to beginner programmers in schools. This approach helps students to develop, collect, and reuse their own functions, as a simple form of abstraction. Learners are guided in creating and using their own library, without the complexity found in other environments.

We implemented the approach in a publicly-available web platform for programming in Python. We collaborated with high school teachers who adopted the approach in their mandatory programming courses. Over the course of a year, more than 800 users executed over 30000 programs that use the Toolbox of Functions. This initial experience suggests the potential of the approach to instill the principle of code reuse effectively.

External Link

ECSEE 2025