Mio: a Programming Environment based on Design Recipes

Program design recipes are sequences of steps for defining functions.  They were introduced by Felleisen et al. as a solution to the Blank Page Syndrome, a situation in which the programmer faces an empty editor due to the lack of instructions on how to advance.  While program design recipes are used in many universities, there has not been enough support for this concept.  As a consequence, the programmer could skip certain steps, or make mistakes in the course of program development, and thus lose the opportunity to take full advantage of design recipes.

In this project, we develop a programming environment that gives novice-friendly instructions for each step of design recipes.  Currently, we have implemented a browser-based environment for defining functions based on structural recursion.  We are currently extending the environment with support for more advanced function definitions; more specifically, those involving nested data structures, generative recursion, and accumulators.

Our proposed environment Mio. Though it looks similar to Scratch, it is not for coding. It is for the earlier steps of the design recipe; i.e., analyzing problems’ inputs and outputs and sketching the structure of computation based on input types.

Members

News