TeachScheme!

From Wikipedia, the free encyclopedia

The TeachScheme! project is an attempt to alter the introductory computer science curriculum. Whereas 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 who 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).

Toward these ends, the TeachScheme! project, with funding from sponsors such as the National Science Foundation, runs workshops for teachers interested in bringing the curriculum to their school, and aims to provide free teaching materials - such as online text books, technical papers, and programming tools - which stress program design and problem solving.

As the name TeachScheme! implies, the Scheme programming language is the recommended tool in the curricula proposed by the project. The project is currently being expanded, however, to include instruction on object-oriented programming using Java with the supplementary name "ReachJava!".

The TeachScheme! project is closely related to the PLT Scheme group and DrScheme.

[edit] External links