I am not a father, so take everything with a grain of salt from me. Also,
obvious disclaimer, every child is different, you know your children best, 
and
all the usual stuff...

With that out of the way, I think computer illiteracy is one of the big
injustices that gets perpetrated in our modern society, people are being 
raised
to see computers as magic boxes and you are expected to be just a corporate
slave. Just look at the new Apple iPad commercial where the kid goes 
"what's a
computer?" and this is somehow supposed to be a good thing.

Every person should know the basics of how to use the command-line interface
and write simple programs. I view it like being mechanically competent: not
everyone needs to be a bike mechanic, but everyone should be able to at 
least
fix a flat tire or replace worn-out brakes. Imagine how pathetic and 
helpless
you would be if your bike had a flat tire and you had to bring it to a 
repair
shop and wait several days for something a person with basic training could 
get
done in a few minutes.

The same with computers. Being able to pipe together something in a shell or
throw together a quick script to get a job done frees people from being
dependent on corporations. Case in point, a while ago I was looking for a 
way
to split a PDF exactly in two, and after half an hour or so searching for a
program I was like "WTF am I doing with my life?" and gave up, so instead I
grabbed some Python PDF library, skimmed the documentation and within five
minutes I had a script that did exactly what I wanted.

With that said, I think first grade is a bit too young, but then again, 
every
child is different. You have to be careful to not make computers boring,
complicated or lame for her, or else you will put her off forever. I also
noticed that some people simply do not want to be tech-literate; I don't
understand it, but they are hostile to even the idea of learning the basics 
of
any craft. You will have to consider that possibility as well.

As for Racket, I'm not quite sure. I think the S-expression syntax,
immutability and functional programming are a bit harder to wrap your mind
around than the usual way of giving the computer a sequence of instructions 
to
follow. Maybe Python would be a better choice, it also has a much larger
selection of libraries. But it could also be because I originally came from 
the
imperative way of programming that I found the Lisp languages so weird.

I don't think being able to do math would be that interesting for a child. 
How
about instead you try making small arcade-like games together? Something 
like a
match-3 game or Snake (girls like cute games about eating stuff, PacMan was
specifically made to appeal to girls), a game that doesn't use scrolling and
not complicated collision detection. Or maybe some graphical programming
environment where you drag and drop commands instead of typing them. I don't
know what exists in that regard though, so I can't help you. I remember in
school we had a program where you had a little robot that would move tile by
tile, and you could program it in its own (very primitive) language. Here is
something similar to that:
https://www.swisseduc.ch/compscience/karatojava/javakara/

Now that I think about it, making something similar in Racket to be 
controlled with a language
that's not a bastardised Java would be a really cool project (not for a 
child
of course).

On Saturday, March 3, 2018 at 2:41:16 PM UTC+1, Paulo Matos wrote:
>
> Hello, 
>
> I have a 7yo daughter currently in 1st grade (Germany) and she was given 
> a password for the school computer. Having never touched a computer 
> before she is now being introduced to typing and the mouse. 
>
> I wonder if anyone has any experience with the following: 
>
> 1. Is it useful for a child this age to get introduced to programming if 
> they are not actively looking to learn? 
> 2. Is racket a good way to introduce it? 
> 3. Is 7yo / 1st grade a good time or too early and I should wait? 
>
> Of course, I can say, look... those math exercises you have? (16 - 2 = 
> _, 10 + 18 = _, etc) You can check your answers with a computer, you 
> have to type (- 16 2), (+ 10 18), etc. But is it useful or a waste of 
> mine and her time and there's a better way to begin? 
>
> Kind regards, 
> -- 
> Paulo Matos 
>

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to