avatarElye

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

3768

Abstract

03a">I do allow him to play sometimes but under complete monitoring. So he does have some exposure, but not till a level that would lead him to explore thinking of making one. As a software developer, my IT knowledge is decently good, and hence he has no way of doing it behind me too much.</p><p id="4c16">Today, his interest in computer games is not there anymore. I think I successfully prevented him from game addiction. At the same time, I also fail to make him explore the idea of doing any coding 😑.</p><h1 id="ae90">Suitable tool and syllabus</h1><p id="2ec8" type="7">Swift playgrounds app in iPad is awesome… That’s where apps like Swift playgrounds are so good. They make into a game</p><p id="70f1">I didn’t realize there was such a tool out there. And not only is there a tool, but it also comes along with a syllabus for different age groups. <a href="https://apps.apple.com/au/app/swift-playgrounds/id908519492">https://apps.apple.com/au/app/swift-playgrounds/id908519492</a>. Wow! no wonder kids love programming these days.</p><p id="de88">When I was teaching my son programming, the Swift language was not there yet, and definitely no Swift Syllabus for kids.</p><h2 id="487c">No excuse for me though</h2><p id="0053">However, during my time, there’s also a great tool. It is developed at MIT and explicitly target kids in learning programming without even need to type. It’s all User Interface Driven.</p><div id="b42d" class="link-block"> <a href="https://scratch.mit.edu/"> <div> <div> <h2>Scratch - Imagine, Program, Share</h2> <div><h3>Scratch is a free programming language and online community where you can create your own interactive stories, games…</h3></div> <div><p>scratch.mit.edu</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*YKkWSvC_dvHKaxnC)"></div> </div> </div> </a> </div><p id="1583">This is the tool I use in trying to teach my son programming. My problem is, as a developer, I thought I don’t need to follow the syllabus. I just use my own way to explore how to use it. I use my own style of teaching, and try to make things that I think it is “interesting”.</p><p id="3f94">I try to coach my son while learning myself. Making it relatively daunting for my son to see me explore this and that. And as mentioned above, it’s like a 2–3 hours of hands-on workshop. A child will not have that much attention span.</p><p id="b9b2">Hey! … I am not a trained child psychologist in education but trying to be one. The MIT folks have already learned so much on how to get kids interested in coding and prepare some steps for us out here, but I just use my own way.</p><p id="864b">No wonder I failed miserably.</p><h1 id="13c9">Hand holding at start, and self-explore later</h1><p id="ff24" type="7">We did it together a few exercises. When she was more confident, she went back and did the same exercises herself.</p><p id="1cf7">At such a young age, coding in a language like Swift is not something a young child would get into it by oneself. Initial showing how to do it is crucial. And more importantly, let the child continue on oneself more independently, starting off with something that oneself that’s already familiar.</p><p id="21d7">As for me, I started off well thinking of showing my son how to code. The coaching thought and element is there. But I tried fo shovel too much to him within a session. There’s no element of self-exploration and learning there. Everything is fed on to him, in a massive amount.</p><p id="09f2">Even if he can withstand my full training session for him, it is a

Options

lmost impossible for him to explore himself after that. Too much information. Where to begin? I don’t even remember where to start myself. There are just so so many things.</p><p id="87c9">Not having him walk the baby steps himself, I’m teaching him to run. It’s massive. It’s a process to fail.</p><h1 id="e940">Repetition is the key</h1><p id="7731" type="7">She would have done each of the exercises there many many times now… solidifying her understanding. It’s like practicing the same piano notes again and again. I don’t think she found it boring.</p><p id="0e83">This is one thing I get it so wrong. I always think kids get bored easily and like to have new things all the time. All exercises must be new. All activities shouldn’t be repeated.</p><p id="c88c">But that is so wrong. Thinking back, kids learn best by repetition. They don’t mind watching the same cartoon over an.d over again, listen to the same song over and over again.</p><p id="6b22">Each time, it reinforces their memory on the things they did, and enhance their learning. We learn by bits and not by chunks.</p><p id="5463">The coding work that I’ve gone through with my son, was never repeated even once. Every time when we “restart” the session, I go through entirely new ways of doing things. Nothing is repeated, everything is new.</p><p id="1399">It’s so new that he didn’t look forward to it anymore 😖.</p><h1 id="d131">Attitude is trainable</h1><p id="b78b" type="7">She would give up… I will have to teach and explain then come back to it next week. It’s understood in all her activities that it will be hard. That’s not an excuse to stop doing anything. That’s a thing we keep saying and practicing often at home.</p><p id="0093">I often think that developer needs some attributes in life. A developer should be a person who dares to face problems and never give up. It’s an inborn attribute.</p><p id="c492">When challenged with some unknown hurdles, I get curious and would like to solve the problem. It’s a logical problem, so I’ll go all out. To me, that’s the life of a developer. We got to love solving problems.</p><p id="0f4e">While teaching coding to my son, I like to throw problems for him to solve, posting some logical challenge to him. And when I face some unknown issue, I was hoping he will also get curious like I did, and we can learn to solve the problem together.</p><p id="e8e8">However, that didn’t turn out well. He decided not to pursue it. There are some other activities he is more interested in than solving logical coding problems. So I thought perhaps he is not born to be a developer.</p><p id="4795">After asking my boss, I just realize like it’s a common challenge among children. Hence it is not an attribute we can use to determine if a child would love coding. It’s something trainable and can positively instill instead of an inborn attribute.</p><p id="d1ca">People are not born to just love problems. But something had happened in the past. The past success tells them they have succeeded before, and this time they can pursue better success. Every single small success in life will help them take a greater leap the next time.</p><p id="87ac">I gave up thinking my son is not born to be a potential developer. I’ve been proven wrong.</p><p id="8e39">Looking at my colleague success in his family life, I am fortunate to learn something different from my understanding.</p><p id="3450">Though it might be too late for my son now…. for my grandchildren in the future, it may still be applicable 😅.</p><p id="882c">Never too late to learn. Thank you, Prasanna!</p><blockquote id="2159"><p>My sincere gratitude to <b>Mr. Prasanna Gopalakrishnan </b>(my colleague) for allowing me to share the content above.</p></blockquote></article></body>

Learning Programming

She Was Just Seven When She Taught Coding!

How to make a child love coding; A failed and successful example

Picture by finelightarts on Unsplash

One day, I stumbled upon this on YouTube. Impressive. A 7 year old girl teaching others how to code. She started coding at 5 years old. Check it out! It’s so natural and full of passion!

To me, she is either a prodigy or she has great parents who coach her amazingly. I personally know it is very hard to get kids to love coding at such a young age, as I have failed miserably. Coding is never a thing that can be forced into, especially at such a young age!

To my most pleasant surprise today, I just found out that she is my colleague’s daughter. I’m just too impressed and couldn’t hold back my curiosity asking him how he did it.

I literally compared what I did and what he did and found out what I’ve done wrong. Below are some pointers (those in big fonts are from my colleague).

Discipline routine

I just have a certain amount of time booked n number of days every week for a few activities; Singing, spelling, reading, programming, etc. Either me or my wife will take the lead on each activity. And we go through one little thing at a time.

Everybody knows about getting something into a routine is crucial to cultivate a habit. I tried to do that too for my son. I did succeed in some way

But from the coding point of view, I just did it a few times with my son too. It’s not a routine. It’s like when I have the time to do so (i.e. when I have a long break). And when I did it, it’s an activity of 2–3 hours like attending a hands-on workshop.

The first 5 minutes he is there with me. After that, I feel like I’m all alone, literally trying to drag him into it. It’s just like more homework.

Thinking back… I wouldn’t be a developer too if I started off like this 😓.

Games are where it starts

I recommend her playing (Nintendo) Switch games as much as she wants.

I deeply know this point. My own love of programming started off by playing some computer games when I was young. My dream back then was able to develop games someday when I grow up. That’s where it leads me to programming today.

However, when it comes to my son, I consciously discourage him from playing games. He never has his own iPad, SmartPhone, or any game console. We have PlayStation, that’s mine 😬, not his. It’s all in the name of afraid that he might get addicted and lose interest in studies one day.

I do allow him to play sometimes but under complete monitoring. So he does have some exposure, but not till a level that would lead him to explore thinking of making one. As a software developer, my IT knowledge is decently good, and hence he has no way of doing it behind me too much.

Today, his interest in computer games is not there anymore. I think I successfully prevented him from game addiction. At the same time, I also fail to make him explore the idea of doing any coding 😑.

Suitable tool and syllabus

Swift playgrounds app in iPad is awesome… That’s where apps like Swift playgrounds are so good. They make into a game

I didn’t realize there was such a tool out there. And not only is there a tool, but it also comes along with a syllabus for different age groups. https://apps.apple.com/au/app/swift-playgrounds/id908519492. Wow! no wonder kids love programming these days.

When I was teaching my son programming, the Swift language was not there yet, and definitely no Swift Syllabus for kids.

No excuse for me though

However, during my time, there’s also a great tool. It is developed at MIT and explicitly target kids in learning programming without even need to type. It’s all User Interface Driven.

This is the tool I use in trying to teach my son programming. My problem is, as a developer, I thought I don’t need to follow the syllabus. I just use my own way to explore how to use it. I use my own style of teaching, and try to make things that I think it is “interesting”.

I try to coach my son while learning myself. Making it relatively daunting for my son to see me explore this and that. And as mentioned above, it’s like a 2–3 hours of hands-on workshop. A child will not have that much attention span.

Hey! … I am not a trained child psychologist in education but trying to be one. The MIT folks have already learned so much on how to get kids interested in coding and prepare some steps for us out here, but I just use my own way.

No wonder I failed miserably.

Hand holding at start, and self-explore later

We did it together a few exercises. When she was more confident, she went back and did the same exercises herself.

At such a young age, coding in a language like Swift is not something a young child would get into it by oneself. Initial showing how to do it is crucial. And more importantly, let the child continue on oneself more independently, starting off with something that oneself that’s already familiar.

As for me, I started off well thinking of showing my son how to code. The coaching thought and element is there. But I tried fo shovel too much to him within a session. There’s no element of self-exploration and learning there. Everything is fed on to him, in a massive amount.

Even if he can withstand my full training session for him, it is almost impossible for him to explore himself after that. Too much information. Where to begin? I don’t even remember where to start myself. There are just so so many things.

Not having him walk the baby steps himself, I’m teaching him to run. It’s massive. It’s a process to fail.

Repetition is the key

She would have done each of the exercises there many many times now… solidifying her understanding. It’s like practicing the same piano notes again and again. I don’t think she found it boring.

This is one thing I get it so wrong. I always think kids get bored easily and like to have new things all the time. All exercises must be new. All activities shouldn’t be repeated.

But that is so wrong. Thinking back, kids learn best by repetition. They don’t mind watching the same cartoon over an.d over again, listen to the same song over and over again.

Each time, it reinforces their memory on the things they did, and enhance their learning. We learn by bits and not by chunks.

The coding work that I’ve gone through with my son, was never repeated even once. Every time when we “restart” the session, I go through entirely new ways of doing things. Nothing is repeated, everything is new.

It’s so new that he didn’t look forward to it anymore 😖.

Attitude is trainable

She would give up… I will have to teach and explain then come back to it next week. It’s understood in all her activities that it will be hard. That’s not an excuse to stop doing anything. That’s a thing we keep saying and practicing often at home.

I often think that developer needs some attributes in life. A developer should be a person who dares to face problems and never give up. It’s an inborn attribute.

When challenged with some unknown hurdles, I get curious and would like to solve the problem. It’s a logical problem, so I’ll go all out. To me, that’s the life of a developer. We got to love solving problems.

While teaching coding to my son, I like to throw problems for him to solve, posting some logical challenge to him. And when I face some unknown issue, I was hoping he will also get curious like I did, and we can learn to solve the problem together.

However, that didn’t turn out well. He decided not to pursue it. There are some other activities he is more interested in than solving logical coding problems. So I thought perhaps he is not born to be a developer.

After asking my boss, I just realize like it’s a common challenge among children. Hence it is not an attribute we can use to determine if a child would love coding. It’s something trainable and can positively instill instead of an inborn attribute.

People are not born to just love problems. But something had happened in the past. The past success tells them they have succeeded before, and this time they can pursue better success. Every single small success in life will help them take a greater leap the next time.

I gave up thinking my son is not born to be a potential developer. I’ve been proven wrong.

Looking at my colleague success in his family life, I am fortunate to learn something different from my understanding.

Though it might be too late for my son now…. for my grandchildren in the future, it may still be applicable 😅.

Never too late to learn. Thank you, Prasanna!

My sincere gratitude to Mr. Prasanna Gopalakrishnan (my colleague) for allowing me to share the content above.

Education
Parenting
Programming
Coding
Learning To Code
Recommended from ReadMedium