SPLASH 2025
Sun 12 - Sat 18 October 2025 Singapore
co-located with ICFP/SPLASH 2025

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.