ICFP/SPLASH 2025 (series) / SPLASH 2025 (series) / SPLASH-E /
An Interactive Learning Environment for Program Design
Program design skills are important for students to master. As a methodology for teaching and learning program design, the design recipe of Felleisen et al. provides explicit steps to follow when designing programs. However, for beginning students, following those steps could be a difficult task, especially in the absence of an instructor.
We propose a learning environment for practicing program design based on the design recipe. The environment guides the learner through the design process via conversations in natural language, while automatically generating corresponding code and feedback based on the learner’s responses. In this paper, we describe the design of the environment and report the results of a preliminary experiment.