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.