The TeachScheme project is an attempt to alter the introductory computer science curriculum. Where the traditional curriculum focuses on syntax and state change, the TeachScheme curriculum starts instead with simple data, and shows how solutions to problems follow directly from the structure of this data.
Some of the ideas central to the project:
There is a direct lineage from grade-school computing through high-school algebra to college-level computing. Math is not "domain knowledge" to be applied sparingly to numeric programs, but rather the foundation of program design.
Every program in the first year of computing can be written in a simple and direct way by following a recipe that defines behavior on base cases and extends this to behavior on more complex data.
Students that can't write unit tests aren't ready to write code.
Many languages push students toward complex solutions to simple programs. Scheme is not one of these (hence the name).
The TeachScheme project is closely related to the PLT Scheme group and DrScheme. A scheme is a plan or a system of related parts. ... PLT Scheme is an umbrella name for a family of implementations of the Scheme programming language. ... DrScheme Editing Environment DrScheme is an interactive and graphical programming environment for the Scheme programming language. ...