I tried teaching my daughter coding using Swift Playground as well as Python. I am a university professor but my problem is that I exclusively teach to masters and PhD students and I have no idea about how to teach coding to a child. My daughter liked some of the stuff but I quickly realized that I was unable to make my teaching relatable to her in any manner. It was way too abstract for her and also very boring.
It would be great if you could share your experiences and advice on how to go about doing this. I don't want to push her lest she starts hating coding (and me!)
Programming a device to do something in the physical world is motivating and interesting.
I've two girls 3 & 5, and they love interacting with contraptions that I make using Raspberry Pi, ESP8266/32 and Sphero. Even building a simple IVR out of Twilio is hours of fun[4].
I was going to recommend Sphero RVR[5] or Bolt[6], but they are currently out of stock.
Forgot to mention, if you have an Amazon Echo, you could try building alexa skills [7] which my kids like too. You can do similar with google home, but I've not tried that.
[1] https://www.lego.com/en-us/themes/mindstorms
[2] https://www.adafruit.com/category/956
[3] https://learn.adafruit.com/category/wearables
[4] https://www.twilio.com/studio
[5] https://sphero.com/collections/all/products/rvr
[6] https://sphero.com/collections/all/products/sphero-bolt
[7] https://developer.amazon.com/en-US/alexa/alexa-skills-kit/ge...
Edit: formatting Edit2: Added alexa skill
I don't have a solution, but I wouldn't listen to the people who say "don't bother" either. It's still valuable to learn that stuff young, it puts you in a whole different category vs people who adopt it later. Maybe if you write code yourself you can show her some parts of what you are doing and explain them to her? I remember watching my dad work, and I think that is where kids begin to learn about stuff, even if it's too complex for them to get all of it. Plotting stuff is a good example where there is an easy connection between the code and output, but I'd suggest trying to share whatever you do for research/ work with her.
The trick is to get them to see code as an enhancement to life. It's fascinating to see the renaissance in table top RPGs like Dungeons & Dragons amongst the youth today. One time we couldn't find the dice set. So I wrote a simple Python N-sided die. And they were fascinated by BigInt: "you mean I can roll dice with as many sides as I want???"
Disclaimer, not a parent
https://journals.ufs.ac.za/index.php/pie/article/view/4027
So perhaps general reading/ literacy are a good adjunct skill for coding?
I put some free lessons up for her class. Link in my profile if it is any help to you.
The first non-trivial program that I remember writing, in fourth grade, did not have such flourishes. It was a program that implemented a Caesar cipher, so that I and my best friend could exchange encoded messages. Given the cumbersome effort of keying in the text and running the program, it was not much of a convenience over manually encoding/decoding the cipher scheme with pencil and paper :-)
Graphical way to program. My eight year old was making games in minutes. And was ‘getting’ it.
i.e.
https://www.amazon.com/dp/1593279906/ref=redir_mobile_deskto...
It is a free platform and works great when parents (or educators) know already programming.
There are many type of activities included that can be explored (games, draw with code, animations, etc.)
But above all, make it fun! Just spending time with your daughter is more important than getting her to learn stuff.
If it doesn’t resonate with her, keep looking around for something that does.
Maybe you could build some projects together? My buddy builds robots and little kit toys with his kids. They have a lot of fun with it, but I suspect they’re humoring him because they just like an excuse to spend time with him.
the overall goal is to build the curriculum to incoroerate as few external systems as possible. focusing on intro information, architecture, communication, translation using music (specifically a flute) to teach morse code, linguistic set theory, frequency manipulation, recognition, resorse management, basic binary logic you can skip the pvp flute or down branch whittled device, and start with the windpipes. break everytging into set theory linguistics with SVO initial to show all constructs are a language that follows this pattern.
you wont need any computers or flutes for years, and by including fencing, and calligraphy which requires you carve your own saber pens you dont need anything other than yourself, and the yard to push her beyond the problem solving capas of uni students
Really - it's an incredibly over-hyped and overrated skill - especially for the pre-teen set. As in, really, really incredibly over-hyped and overrated.
Meanwhile, you could probably get a lot more mileage out of (and less resistance from) teaching "adjacent" skills like strategy games (ideally physical board games rather than the electronic variety -- but the latter can be perfectly fine as well, if tastefully done). You know, chess, go, backgammon, as well as the modern stuff. Anything involving counting, prediction, planning ("if-this-then-that") and spatial reasoning will definitely give hear a leg up in this realm.
That and ... throw a few Rubik's cubes (and its variants), as well as picture-driven math books her way (especially those with fractals and tessellations and such). Any kind of illustrated science book actually. See of these get any traction.
And don't forget -- a decent scientific calculator. That's one of the things that got me into programming at a tender age (specifically 4th grade) -- discovering things like the x -> 1/(1+x) iteration on my own, and so forth.
Ditto for musical "toys" (aka simple electronic instruments), which are of course another form of computational platform.
As for coding -- if she digs any of the above, she'll get to it on her own, sooner or later. If she doesn't dig any of the above ... then maybe it's just not her bag.
Which is of course perfectly fine as well.