Program By Design - ProgramByDesign and Choice of Programming Language

ProgramByDesign and Choice of Programming Language

The name TeachScheme! appears to imply that this design recipe requires Scheme (now Racket) and is only teachable with Scheme. Neither conclusion is true, however. Members of PLT and their trainees have successfully applied the design recipe in Assembly, C, Java, ML, Python, and other programming languages, not to speak of poetry, geometry, and biology courses. The fundamental idea of ProgramByDesign is to stress programming as a design activity. This misconception is one of the reasons for the renaming actions taken in 2010.

To get started the ProgramByDesign project has produced three essential elements:

  • a series of successively more powerful and permissive teaching languages, which are dialects of Racket, matched to the design recipe but with error reporting matched to the student's level (for example, many things that are legal in standard Racket, but which a beginning student doesn't need, are flagged as errors in the Beginning Student level);
  • a beginner-friendly, freely-downloadable, pedagogic programming environment, DrRacket, that enforces these language levels;
  • a curriculum, encoded mostly in the book HTDP and its (draft) successor HtDP 2nd Edition

Their choice of Racket reflects their belief that Racket is a good language for a small team with little funding (in comparison to Java) to validate their conjectures. The PLT group has always tried to ensure, however, that the ideas remain portable to other contexts.

Read more about this topic:  Program By Design

Famous quotes containing the words choice, programming and/or language:

    On this narrow planet, we have only the choice between two unknown worlds. One of them tempts us—ah! what a dream, to live in that!—the other stifles us at the first breath.
    Colette [Sidonie Gabrielle Colette] (1873–1954)

    If there is a price to pay for the privilege of spending the early years of child rearing in the driver’s seat, it is our reluctance, our inability, to tolerate being demoted to the backseat. Spurred by our success in programming our children during the preschool years, we may find it difficult to forgo in later states the level of control that once afforded us so much satisfaction.
    Melinda M. Marshall (20th century)

    There is no such thing as an ugly language. Today I hear every language as if it were the only one, and when I hear of one that is dying, it overwhelms me as though it were the death of the earth.
    Elias Canetti (b. 1905)