[racket] review my tutorial?

From: Daniel Prager (daniel.a.prager at gmail.com)
Date: Fri Aug 2 19:29:34 EDT 2013

Hi Grant

In terms of making the ideas of recursion concrete, stimulus material such
as Babushka dolls and simple fractals may be helpful, but I'd be starting
with simpler things than recursion which can challenge adults, let alone
kids.  You can do a fair bit in racket before introducing set! and
recursion.

How about Dr Seuss's Sneetches on the Beaches for introducing functional
programming:

http://jackcoughonsoftware.blogspot.com.au/2009/05/teaching-functional-programming-to-kids.html

Along-side the command-oriented approach of turtle graphics, I'm playing
with simple maths with my kids, basic define, and just showing them neat
things.  Once we figure out how to do something simple in the REPL, my son
will often want to "turn it into a program" (i.e. write a function).  After
I showed some simple arithmetic and how quasiquote worked he generalised a
more concrete example of mine to the following function:

(define (years-old year yob)
  `(You are ,(- year yob) years old))

Even running something as simple as this can be engrossing for a kid: you
can now not only test by figuring out the age of various family members,
but also find out what year you or they will be in -- say -- 2050.
 Interesting to me was that my boy insisted on keeping year as an argument
rather than hardcoding 2013 - an issue of programmatic style: specific vs
general?

BTW: I think that really foundational skill in problem-solving is what the
poet Keats referred to as "negative capability", i.e. to keep calm in the
face of not knowing what to do next. Programming is a great way to develop
this.  I.e. it can be a vehicle for intra-personal (and by pairing)
inter-personal emotional development, as well as one for intellectual
extension.

More inspiration - secretly teach algebra to kids as young as five:
http://www.dragonboxapp.com/

Who else is interested in lowering the age of entry for junior Racketeers?


Dan




On Sat, Aug 3, 2013 at 4:01 AM, grant centauri <gcentauri at lincolnix.net>wrote:
>
>
> Daniel, my first experience with programming as a child was LOGO and
> turtle graphics.  Perhaps that is why I still have an affinity for the Lisp
> family.  I was actually hoping to implement some kind of turtle builder
> into the Minecraft Pi world.  However, it seems like the Turtle graphics
> style of programming is very different than the HtDP/Bootstrap way.  Are
> there thoughts about that?  For young children, those kind of robotic
> instructions seem to make more sense, I am at a loss to find ways to make
> recursion and functional programming more concrete.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20130803/5c750e99/attachment.html>

Posted on the users mailing list.