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:

    Sleeping in a bed—it is, apparently, of immense importance. Against those who sleep, from choice or necessity, elsewhere society feels righteously hostile. It is not done. It is disorderly, anarchical.
    Rose Macaulay (1881–1958)

    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)

    Man acts as though he were the shaper and master of language, while in fact language remains the master of man.
    Martin Heidegger (1889–1976)