Content deleted Content added
m Yet another Scheme -> Racket ~~~~ |
No edit summary |
||
Line 20:
presented their work with students.
In 2010, [[Racket (programming language)|PLT]]
==Functional Programming, Computing and Algebra==
Line 37 ⟶ 36:
Here is an example:
<source lang="lisp">
(require 2htdp/universe)
(require 2htdp/image)
;; create an image from the current time
(define (create-image t)
(place-image APPLE 50 (* 10 t) SPACE)) ;; names for basic images
(define APPLE (circle 3
(define SPACE (empty-scene 100 100))
(animate create-image)
</source>
This
small white canvas. It consists of three parts:
* a function definition for create-image, which is a one-line function in mathematics, assuming an algebra of images with place-image, circle, and empty-scene have been introduced;
Line 59 ⟶ 61:
red dot is a little bit lower.
Finally the
rate of
displayed on the computer monitor at the same pace. That's how movies are made.
The background needed for such an example is little more than knowledge about making
Line 74 ⟶ 77:
program consists of as many lines as the mathematics. Moving between the mathematics
and the program is thus straightforward. Better still, the meaning of the two are
the same. [[DrRacket]]'s algebraic stepper can illustrate how
program as if it were a sixth or seventh grade student, step by step, using plain
algebra.
Line 119 ⟶ 122:
==TeachScheme! and choice of programming language==
and is only
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 143 ⟶ 145:
A part of the team has a grant from the National Science Foundation for conducting field tests in colleges
and high schools. Professional-development workshops took place in the summer of 2007, 2008, 2009, and
tentatively titled "How to Design Classes."
|