Racket for Kids in 2017

370 views
Skip to first unread message

ylluminate

unread,
May 28, 2017, 1:23:30 AM5/28/17
to Racket Users
I have a older teen who's been programming for the last several years and is remarkably talented. His younger brother is now wanting to get going (10).

My older son started with JS, learned how to hate it, and moved on to Ruby (specifically Opal has a special place in his heart as far as isomorphic dev goes). From there he's worked with a number of other languages, including Racket. The nice thing about JS at the time was that he used Codecademy with their rapid turn around repl + visual results. After a good bit of discussion, it really seems that Racket mostly matches this need and provides an even superior foothold for one just starting.

Initially I really thought that "Realm of Racket" would be an ideal springboard for him, but some reviews have made me think otherwise.

Does anyone have a solid recommendation for starting kids off with Racket in 2017? Are there any kid-centric courses?

Neil Van Dyke

unread,
May 28, 2017, 2:06:55 AM5/28/17
to ylluminate, Racket Users
Have you looked at HtDP? I'm guessing it's still too "old" for any 10yo
(you might have to wait until 12, at least), but worth a look, so you
have some sense when to introduce it later.

One option is to make this constructionist self-directed, with a
helper. Specifically, find out something he wants to start making or
doing first, and have older brother give him pointers on how to get
started. For example, if he wants to start playing with graphics, older
brother can show him how to minimally operate DrRacket, an example of
graphics, how to modify it, and where's some documentation for doing
other things with graphics. Then brother is available occasionally for
questions and tips (say, he wants to draw a car, and this car has 2
wheels, and brother might show him how do abstract that into a
`draw-wheel` procedure, even though the kid has probably not yet been
exposed to any algebra (he doesn't have to understand variables, to
start modifying an example, and incidentally starting to learn some
algebra without being explicitly told about it). And lots of unattended
time to figure things out and play on his own.

Similar with animations, music, games.

Maybe get a friend or two of the same age also learning this way, so
they can learn from and inspire each other, work on things together,
etc. But be careful that all of them stay encouraged, and you don't get
a situation like one of them getting a head start and consequently
feeling like they're "good at this", and the other feeling like they're
"bad at this", which are self-fulfilling perceptions.

There are also language platforms specifically designed for young
children. But don't discount the potential of throwing a young child at
a computer with only non-child software on it, and let them figure out
how to do what they want, much on their own. That's how the early-1980s
home computer kids got started, and that worked out pretty well. Just
keep nudging towards increasing technical sophistication, as the child
is ready. (And keep child away from modern Web programmer talk as long
as possible, to avoid rotting brain during a crucial formative period. :)

Stephen De Gabrielle

unread,
May 28, 2017, 9:08:23 AM5/28/17
to Neil Van Dyke, ylluminate, Racket Users
> But don't discount the potential of throwing a young child at a computer with
> only non-child software on it, and let them figure out
> how to do what they want, much on their own. That's how the early-1980s
> home computer kids got started, and that worked out pretty well.
Survivorship bias?
I mostly learnt how to pirate games on 8 bit hw. Not sure it is a skill I'd recommend.
S.
--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Kind regards,
Stephen
--

Matthias Felleisen

unread,
May 28, 2017, 4:28:33 PM5/28/17
to ylluminate, Racket Users
You should check into bootstrap-world.org. It is the middle school part of our outreach project. It comes with a scripted curriculum that introduces video programming via very simple Racket. See WeScheme.org for the IDE. The curriculum is a simplification and adaptation of How to Design Programs (HtDP) for kids in the 10-14 age range. You can also use DrRacket and its Beginning Student Language (BSL) if you wish to work off-line. If a package fails to meet the advertised standard, holler and we will fix it. (We occasionally diverge here.) [FWIW, this form of coding is isomorphic to the math kids learn at the same grade level. We dont tell them in case they don’t like math. So even if your teenager does not go on to become the next Facebook creator with his Racket skills, he will have learned and re-inforced a much more valuable skill.]

The second step could be Bootstrap II (but that’s in a different language) or HtDP or both, sequenced in this order. 

Realm of Racket is NOT intended for plain beginners. It says so in the Preface. We really tried hard to clarify that we assume some basic programming knowledge, such as HtDP or something else (not necessarily Racket). I don’t know which reviews you found but I sure hope they acknowledge that we already say it’s not intended for 10-year olds. 

— Matthias


ylluminate

unread,
May 28, 2017, 6:24:43 PM5/28/17
to Racket Users, yllum...@gmail.com, matt...@ccs.neu.edu
Matthias, thanks for that. So essentially the scripted components are available in different focuses (e.g., HoC, Algebra, Reactive, Data Science, & Physics) here:
http://www.wescheme.org/openEditor

Correct? Are these to be used in a stepwise fashion moving from HoC to Algebra to Reactive, etc?

It seems that after these are completed, you then recommend the "After Bootstrap" links.

Matthias Felleisen

unread,
May 28, 2017, 6:27:00 PM5/28/17
to ylluminate, Racket Users




> On May 28, 2017, at 6:24 PM, ylluminate <yllum...@gmail.com> wrote:
>
> Matthias, thanks for that. So essentially the scripted components are available in different focuses (e.g., HoC, Algebra, Reactive, Data Science, & Physics) here:
> http://www.wescheme.org/openEditor
>
> Correct? Are these to be used in a stepwise fashion moving from HoC to Algebra to Reactive, etc?

Yes.

>
> It seems that after these are completed, you then recommend the "After Bootstrap" links.

Yes!

ylluminate

unread,
May 28, 2017, 6:29:46 PM5/28/17
to Racket Users, yllum...@gmail.com
Some really good thoughts there. I think key is to have some initial structured content to give him a springboard and then allow him to build out from there.

LOL, yes, I agree wrt keeping web programmer (specifically JS) influences away to avoid brain rot! :D Even though my older son started with JS, he was able to have some serious balance to his understanding with my CS background which ultimately helped him to really go down the proper paths and to see things as they really are. Worlds of help (and yeah, the 80's methodology of hack it until you crack it really helps). One reason I throw Unix systems at them initially so that they can start learning that the shell is a useful thing... :)

Neil Van Dyke

unread,
May 28, 2017, 11:20:03 PM5/28/17
to Stephen De Gabrielle, ylluminate, Racket Users
Stephen De Gabrielle wrote on 05/28/2017 09:08 AM:
> > But don't discount the potential of throwing a young child at a
> computer with
> > only non-child software on it, and let them figure out
> > how to do what they want, much on their own. That's how the early-1980s
> > home computer kids got started, and that worked out pretty well.

> Survivorship bias?

Could be; good point. (I've seen and suspected a lot of survivor bias
in academia, in various ways, especially around the fancy-pants schools,
and around narrow STEM paths; but that's another conversation.)

I know only a little of the work that has been done on this, by
education and developmental researchers, so I overstated my
non-specialist's opinion. My bad.

My *anecdotal experience and inexpert intuition* is that self-motivated
play by young children, who are in sponge mode, can be a powerful
learning machine, especially when given helpful nudges/nurturing.
Seymour Papert and others have worked on this.

And I believe I've observed the influence of people feeling that they
are doing well, or doing badly, at something new. So I suspect that
nudging that, as needed, can be key to the learner putting in enough
time and effort to do well.

I doubt that these general ideas would be controversial among actual
experts, but of course there must also be a lot more going on and
important, which they also know something about.

Stephen De Gabrielle

unread,
May 29, 2017, 4:22:18 AM5/29/17
to Neil Van Dyke, Racket Users, ylluminate
I'm no expert either :)
I *am* keen that any kid (like my 12yo son)  doesn't end up having a bad experience. I think there is a big difference between the TRS-80 I typed BASIC into and the options kids have now & I'm not sure regular parents who like me, aren't education professionals, can provide the right guidance & support.

S. 

Matthias Felleisen

unread,
May 29, 2017, 9:15:30 AM5/29/17
to Stephen De Gabrielle, Neil Van Dyke, Racket Users, ylluminate

[off topic]

As far as 1-1 experiences go, I doubt very much that a parent can do much worse than an average “education professional.” Due to our outreach program, I have seen amazing education professionals and people in the same profession who clearly contribute to the crisis of the education system. So you never know what the average is :-) 

As far as education in programming is concerned, I doubt I have to add much on this mailing list. 




Ramon Diaz-Uriarte

unread,
May 31, 2017, 10:31:23 PM5/31/17
to Racket Users, yllum...@gmail.com, matt...@ccs.neu.edu
I've been intending to ask a somewhat similar question, so I'll jump to this part directly:

On Sunday, May 28, 2017 at 10:28:33 PM UTC+2, Matthias Felleisen wrote:

(...)
>
> Realm of Racket is NOT intended for plain beginners. It says so in the Preface. We really tried hard to clarify that we assume some basic programming knowledge, such as HtDP or something else (not necessarily Racket). I don’t know which reviews you found but I sure hope they acknowledge that we already say it’s not intended for 10-year olds. 
>
>
> — Matthias

But does programming in Scratch count as basic programming knowledge? and what if one works through Realm with an adult (who is supposed to have that knowledge)?

My 14-year old daughter is working through Realm with me. She started using Scratch three years ago and eventually lost interest. I looked at bootstrap, we did the "Hour of Code", but she doesn't find video games interesting (she currently wants to hack an Eliza-like bot therapist). We also looked at "Picturing Programs" but, again, the pictures didn't entice her. So I tried Realm. I considered HtDP but I thought it might be too much of a college textbook for her, and that maybe Realm was a shorter route to start playing with the existing Eliza code. We are not far into Realm (finishing ch. 4, where she enjoyed the "stealth conditionals").

But Matthias' comment has made me wonder again if that was the right decision: even if, for now, we can work together and I can explain what is going on, this might not work well when we are further into the book. We planned on going through HtDP after finishing Realm but should we start with HtDP first?


Thanks,

R.

Matthias Felleisen

unread,
May 31, 2017, 10:51:20 PM5/31/17
to Ramon Diaz-Uriarte, Racket Users, yllum...@gmail.com

> On May 31, 2017, at 10:31 PM, Ramon Diaz-Uriarte <rdi...@gmail.com> wrote:
>
> I've been intending to ask a somewhat similar question, so I'll jump to this part directly:
>
> On Sunday, May 28, 2017 at 10:28:33 PM UTC+2, Matthias Felleisen wrote:
>
> (...)
>>
>> Realm of Racket is NOT intended for plain beginners. It says so in the Preface. We really tried hard to clarify that we assume some basic programming knowledge, such as HtDP or something else (not necessarily Racket). I don’t know which reviews you found but I sure hope they acknowledge that we already say it’s not intended for 10-year olds.
>>
>>
>> — Matthias
>
> But does programming in Scratch count as basic programming knowledge? and what if one works through Realm with an adult (who is supposed to have that knowledge)?


I think Scratch’s ceiling is too low, but it might just work if a knowledgable adult helps along. I’d still do a tour of Bootstrap first, perhaps faster than planned.



>
> My 14-year old daughter is working through Realm with me. She started using Scratch three years ago and eventually lost interest.

[That’s what I mean with ‘low ceiling.’]


> I looked at bootstrap, we did the "Hour of Code", but she doesn't find video games interesting (she currently wants to hack an Eliza-like bot therapist). We also looked at "Picturing Programs" but, again, the pictures didn't entice her. So I tried Realm. I considered HtDP but I thought it might be too much of a college textbook for her, and that maybe Realm was a shorter route to start playing with the existing Eliza code. We are not far into Realm (finishing ch. 4, where she enjoyed the "stealth conditionals”).


A simple Eliza program could soon be within reach. Yes, different kids react to different factors.


>
> But Matthias' comment has made me wonder again if that was the right decision: even if, for now, we can work together and I can explain what is going on, this might not work well when we are further into the book. We planned on going through HtDP after finishing Realm but should we start with HtDP first?


Trying going back and forth. The AI-ish “games” (it’s really just planing) in Realm might be a good illustration to get to but the necessary material is explained in more pedagogic manner in HtDP. She would need an adult to navigate, because I am really aiming for 16/17 year olds.

Good luck and don’t hesitate to ask here about things — Matthias




>
>
> Thanks,
>
> R.

Ramon Diaz-Uriarte

unread,
Jun 1, 2017, 8:43:11 AM6/1/17
to Racket Users, rdi...@gmail.com, yllum...@gmail.com, matt...@ccs.neu.edu
Matthias, thanks a lot for the suggestions.

I'll go over the Bootstrap material (Algebra, Bootstrap:1) with her, quickly. And then we'll combine HtDP with Realm, being aware that we might really want to focus on HtDP initially if Realm gets difficult. The adult (me) will be there.

Thanks again.

R.



On Thursday, June 1, 2017 at 4:51:20 AM UTC+2, Matthias Felleisen wrote:
Reply all
Reply to author
Forward
0 new messages