Content deleted Content added
Tassedethe (talk | contribs) removed Category:Racket programming language using HotCat |
No edit summary |
||
Line 1:
{{norefs|date=June 2010}}
The "ProgramByDesign project", formerly known as '''TeachScheme! project'',' is an outreach effort of the [[Racket (programming language)|PLT]]
research group. The goal is to train college faculty, high school teachers and
possibly even middle school teachers in programming and computing.
Line 21:
presented their work with students.
In 2010, [[Racket (programming language)|PLT]] renamed its major programming language [[Racket (programming language)|Racket]].
==Functional Programming, Computing and Algebra==
The starting point of
grade school courses on arithmetic and middle/high school courses on
pre/algebra. Teachers program them with rules and run specific problems via
Line 68:
The background needed for such an example is little more than knowledge about making
movies, about the algebra of pictures in [[DrRacket]] (which is like the one for
numbers), and minimal pre-algebra. The
children would have more fun with such "live" functions than with algebraic
expressions that count the number of garden tiles [see Prentice Hall books for
grades 8-9].
The
science courses could benefit from an integration of this form of programming. In
contrast to the traditional Basic or Visual Basic blocks in such books, a Racket
Line 84:
==Functional Programming, Computing and Design in Programming 101==
For the introductory curriculum on programming, the
that courses should focus on the role of systematic design. Even if students never
program again, they should see how helpful a systematic approach to problem solving
Line 92:
languages, but a place where they can learn something widely applicable.
The key design element of the
It has two dimensions: the process dimension and the data dimension.
Line 118:
on the creative part of the task.
[[How to Design Programs]] is the text book authored by the core of the
group.
==
The name TeachScheme! appears to imply that this design recipe requires Scheme (now [[Racket (programming language)|Racket]])
and is only teachable with
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
* 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;
Line 138:
portable to other contexts.
==ProgramByDesign for Java==
Over the past few years, the team has also created a second part of the
Line 149:
tentatively titled "How to Design Classes."
==
==External links==
* [http://
* [http://www.racket-lang.org/ Racket]
* [http://www.htdp.org/ ''How to Design Programs'']
|