A Language for Mathematical Visualization


John Peterson


A domain-specific language (DSL) is a programming language adapted to the needs of a particular problem domain. A well designed DSL gives unsophisticated users the computational capabilities of an advanced programming language without the complexity of a general purpose one. We have applied DSL technology to an important new field: secondary education. In this paper we present a language that allows students to visualize mathematical concepts in subjects ranging from basic algebra to calculus. We have adapted an existing DSL called Pan for use in the classroom. Pan is a language of functional images: pictures are represented by a mapping from points in the coordinate plane onto colors. Using the basic tools of functional programming, users can describe complex images clearly and succinctly. Pan allows basic mathematical concepts to be visualized in new and creative ways. These visualizations are interactive: students can adjust the parameters which define the image with a GUI attached to it. Using this language, computers can be tightly integrated into the core high-school math curriculum and provide new learning opportunities that mix the rigor of mathematics with artistic creativity. The simplicity of this language and its direct relationship with the underlying mathematics makes it a tool that all students can use - not just advanced or computer-literate ones. In this paper we demonstrate how functional images can be used for mathematical visualization in the classroom and discuss implementation issues encountered when porting software to a secondary school setting. Some preliminary experiences in the classroom are also included.


  author =       "John Peterson",
  title =        "A Language for Mathematical Visualization",
  booktitle =    "Proceedings of {FPDE'02}: Functional and Declarative Languages
                  in Education",
  month =        October,
  year =         2002,