ProgramByDesign: Difference between revisions

Content deleted Content added
Clements (talk | contribs)
m DrScheme -> DrRacket ~~~~
Clements (talk | contribs)
Scheme -> Racket, awkward in places. ~~~~
Line 19:
2005, the TeachScheme! project ran an Anniversary workshop where two dozen teachers
presented their work with students.
 
In 2010, [[Racket (programming language)|PLT]] gave the name [[Racket (programming language)|Racket]] to their
variant of [[Scheme]], and the name [[DrRacket]] to the [[integrated development environment|IDE]] known as [[DrScheme]].
 
==Functional Programming, Computing and Algebra==
Line 114 ⟶ 117:
group.
 
==TeachScheme! and Schemechoice of programming language==
 
While the name TeachScheme! appears to imply that this design recipe requires Scheme (now [[Racket (programming language)|Racket]]),
and is only useful with [[Scheme (programming language)|SchemeDrRacket]], neither
the process nor the data axis of the design recipe require the use of Scheme[[Racket (programming language)]]. The
TeachScheme! members and their students have successfully applied the design recipe
in Assembly, C, Java, ML, Python, and other programming languages, not to speak of
Line 124 ⟶ 127:
 
To get started the TeachScheme! project has produced three essential elements:
* a series of successively more powerful and permissive teaching languages, which are dialects of SchemeRacket, matched to the design recipe but with error reporting matched to the student's level (for example, many things that are legal in standard SchemeRacket, 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 [http://www.ccs.neu.edu/home/matthias/HtDP2e/ HtDP 2nd Edition]
Their choice of SchemeRacket reflects their belief that SchemeRacket is a good language for a
small team with little funding (in comparison to Java) to validate their
conjectures. The PLT group has always ensuredtried to ensure, however, that the ideas remain
portable to other contexts.