ProgramByDesign

His objective was to use functional programming to make mathematics come alive and help inject design knowledge into the introductory computer science curriculum.

Here is an example: This short program simulates an apple falling from the top to the bottom of a small white canvas.

The background needed for such an example is little more than knowledge about making movies, about the algebra of pictures in DrRacket (which is like the one for numbers), and minimal pre-algebra.

The ProgramByDesign project claims, however, that children would have more fun with such live functions than with algebraic expressions that count the number of garden tiles [see Prentice Hall books for grades 8-9].

The ProgramByDesign project proposes that both traditional mathematics and science courses could benefit from integrating this form of programming.

For the introductory curriculum on programming, the ProgramByDesign project emphasizes that courses should focus on the role of systematic design.

The technique of recursion, rather than being mysterious and scary, is simply applying already-learned methods to a self-referential data type.

It demonstrates how the same design recipe ideas apply to a complex object-oriented programming language, such as Java.

A part of the team has a grant from the National Science Foundation to conduct field tests in colleges and high schools.

This part of the project is dubbed ReachJava; the accompanying book is tentatively titled "How to Design Classes."

In 2006 PLT, at Northeastern University and Citizen Schools from Boston, made joint efforts to reach out to inner city students with after-school programs.

Citizen Schools is a nationwide organization that matches volunteers with after-school program sites and gets them started with scripted curricula.

[3][4] The effect on the mathematics courses of this program has encouraged Microsoft and Google to fund a national scale-up effort, developing materials for training teachers and creating sites in Texas, California, and other volunteer cities.