X: How did you get your 6yo into coding?
5 ideas (and examples) I have tried based on the flow model:
This thread contains privilege, luck, and survivorship bias, and has been controversial with some parents/carers when I shared them in person.
Take the ideas with a grain of salt.
This is my 6yo playing with Lego Spike.
This is my 6yo playing with Scratch very recently after @pgr0ss recommended a book on Scratch programming.
1. Provide and articulate flow experience.
Children need a good reason to return to an activity just for the sake of it, and the flow state is the answer to that.
Continuously review their activities to match their skills and challenges to help them enter the flow state.
Help them articulate the flow state, children begin to learn about emotions at 3yo.
Whenever my 6yo enters the flow state at home, I'll help her articulate that feeling as 'enjoyment', or 'focus'.
Example: One characteristic of the flow state is the transformation of time.
Me: "You sure enjoyed that a lot. You've spent 2 hours coding!"
6yo: "What? 2 hours?!"
The flow experience can be provided in the early years.
We were lucky enough to be able to afford for our child to go into a Montessori nursery since she was 2yo.
I think some Montessorian principles help enter flow, so that's something you could explore.
2. Provide connections from current interests.
Most children will experience the flow state not in coding for the first time, therefore you need to connect their interests from non-coding to coding.
What's important here is to understand the concept of "interest".
Something is interesting when it hits the balance of relevance.
When something is not relevant, it's uninteresting. When you've done it before (too relevant), it's ALSO uninteresting.
When you see a spark of interest, ignite them.
For example, the flow experience that my 6yo experienced in her early years is puzzle solving.
I connected puzzle solving to various other toys, various video games, and then later to coding-related puzzle toys or games.
The first coding-related toy she played with was when she was 2yo.
The first coding-related video game she played was when she was 3yo.
Don't get stuck in finding the "best" coding video games, or the "best" coding toys.
Try a variety and see if they spark any interest.
Familiarity with a computer helps a lot, she used to draw on a computer (she loves art & crafts, so that's one other connection).
Map their interests into the flow model. This may help you connect their interests better.
You could also connect programming ideas to their daily lives.
She struggled to understand nested if statements, here I showed her that she already understood it!
The strikethroughs were her correcting the logic based on what she has in her head.
3. Provide new challenges.
The more your children are doing the same flow activity, the more boring the activity would get. This happens because their skill will increase.
For them to get back into the flow state, you need to provide a new challenge.
It's a good thing for children to feel bored when they do a certain activity (as long as they still sit on it), so don't push for new challenges too soon.
Boredom lets them learn and get creative, and hopefully, that creativity will generate a new challenge for themselves.
The problem arises when they can't generate a new challenge for themselves.
You have to be there and provide them with new challenges they could take on.
My 6yo tried a few coding video games and some of them get boring quickly because they don't have enough challenges.
I'd find other games where there were more challenges.
Again, don't get stuck in finding the "best" toys or games. If the games start to get too easy, find other options. There are many options out there.
4. Provide support (scaffolding).
Sometimes in the exercise of finding a new challenge to get your children out of boredom, you can't actually find any challenge that fits their skills. This triggers anxiety.
You need to support them closely.
Some video games jumped from basic coding skills into advanced skills too fast that my 6yo couldn't cope.
When she tried Scratch, it was also really hard for her as there wasn't any roadmap she could follow. There are a lot of features that she needs to familiarise herself with.
To get them through the challenge, sit with them.
For example, I tend to sit with my 6yo to play Scratch or Lego Spike, with me doing the same exercise.
Years before, I'd play coding toys or video games with her and support her.
If you are anxious about coding, though, it's probably best not to sit with them. Children mirror your anxiety.
This is one of the reasons why children have math anxieties, they mirror their parents' math anxiety when they sit together.
Maybe find a tutor if you're really keen?
Praise for effort when your children get through the challenge. This will cultivate a growth mindset.
And... Encourage them to take breaks.
(I still can't believe how hard it is to get my 6yo to take a break from coding - she's like a tiny strong-willed software engineer that already builds up a bad habit).
5. Provide external rewards.
This is probably controversial for some of you.
For me, external rewards are important to encourage my 6yo to step out of low-skill, low-challenge activities.
Think of your current hobby.
How did it start?
Chances are, you had an external motivation first (friends, money, family, etc) before it becomes intrinsically motivated.
We provide rewards by using pocket money.
She surprisingly builds up a desire to buy children's magazines from an early age. They cost £5 each, and she'd only spend 1 hour on them.
It's costly, so whenever she wants to buy them, I'd ask "Do you have enough money to buy it?"
To earn the pocket money, I asked her to build daily schedules on her own (because the one I made for her she never followed), and when she sticks to her schedule, she'll get pocket money!
We used this last year and it motivated her a lot to get going.
This is the most recent way she earns pocket money.
Interestingly, she never really cares about this version, last Sunday we Scratch-ed for 2 hours and she didn't even care about tracking them.
I take that as a good sign that she's doing coding for the sake of it.
She tried other revenue streams that she really liked, but this thread is getting a bit too long, so I'm going to wrap it up!
To help children master a skill, try: experience, connect, challenge, support, and reward.
Children being children, she might eventually shift interests and might not find coding cool anymore.
Regardless, I hope you found those 5 ideas useful. Remember that these are not steps, you have to meet where the children are in the model!
Good luck!