A Functional I/O System, Or, Fun for Freshman Kids

Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi

The 14th ACM SIGPLAN International Conference on Functional Programming (ICFP 2009)
Edinburgh, Scotland, 31st August - 2nd September 2009


Functional programming languages ought to play a central role in mathematics education for middle schools (age range: 10--14). After all, functional programming is a form of algebra and programming is a creative activity about problem solving; introducing it into mathematics courses would make pre-algebra course come alive. If I/O fit in the same framework, students would implement fun simulations, animations, and even interactive and distributed games while using little more than plain mathematics.

We have implemented this vision with a new framework for simple and purely functional I/O. Using this framework, students design, implement, and test plain mathematical functions over numbers, booleans, string, and images. Then the framework wires them up to devices and performs all the translation from external information to internal data (and vice versa), just like an operating system does. Once middle school students are hooked on this form of programming, and our curriculum provides a smooth path for them from pre-algebra to second-semester object-oriented design and theorem proving.

START Conference Manager (V2.56.8 - Rev. 748M)