Teaching your kids to code
Before you read this post, this post is written for those who experienced the coding before. Of course, there is no such limitation of learning the coding. Any father or mother can start learning any programming language and teach their kids! Teaching is the best way to train and strengthen your knowledge.
"Anyone can be my teacher if I can learn something from him or her"
I am a huge believer of what is written above. When I was young, my dad always called my name and showed me how to fix stuffs such as broken appliances or house-related issues. When I was as tall as him , he started letting me to fix them on behalf of him and gave me advices if needed.
This was how I naturally learned several repair skills and am now able to fix most of (not-too-complicated) issues (Unfortunately, I couldn't be MacGyver and acknowledge when to call a professional)
The point is that my both parents have been great teachers in my life...
I have 8-years old daughter. I have been thinking what I can do for her since she was born. I have come up a couple of ideas and finally decided to teach her something. Something I am doing every day and something I have better knowledge with. Yes. teaching coding was my answer.
However, I have often heard the followings from other people:
- Teaching someone is hard.
- Teaching kids is even harder.
- Teaching your own kids is totally different level of challenge...
And I agree. I finished a couple of coding classes with my daughter and I can not say that each class was a piece of cake. However, what I can tell for sure is that I enjoyed every single moment because...
- I got to know my daughter better in terms of finding her study habit, what makes her interested, etc.
- I started looking at this coding lesson by a totally different perspective from simple knowledge transfer to something fun and enjoyable for both of us.
- Finally, I am learning and reviewing my knowledge as well by preparing each class and thinking hard about how I can explain each lesson as easy as possible so that my daughter can understand.
So, how can you start? The below steps are what I proceeded.
Please keep in mind that this is just my personal opinions and what I tried. Every person has their own way of preparation and teaching styles, so there might be different effective approaches.
- Choose a programming language
I worked at the agency for very long time. One of advantages of working at the agency is that the programming language you need to use can be changed based on your project or client's needs. In other words, you have more chances to deal with different programming languages. In my case, I started with C#, but laster had chances to use other languages such as Java, Coldfusion, php and Python.
In my opinion, there is no right or wrong about picking a programming language. At the end, they all have similar concepts (variable, datatype, data structures, function, class, etc) and use different syntaxes and operators. Therefore, once you get familiar with one programming language, you should be able to learn your second or third languages without having any huge issue.
Therefore, I suggest two options:
- Choose the language that you are familiar most now
- Choose the language that you want to learn. (I believe the best way to learn something new is to teach!)
I chose Python
for coding lesson because I would like to understand more deeply and also it helps my ML & TensorFlow study that I started recently. Moreover, its syntax is not that complicated compared to the other language so it can be plus point for the lesson.
So, think about carefully and choose the language you like!
2. Create Your Lesson plans
I am not a good speaker. That's why I make the note (usually use point form) even though it is short period of presentation or meeting. Similarly, this coding lesson might take up to 50 ~ 60 minutes. So I decided using one hour of my Saturday morning time for planning a lesson. I am using the Notion
to store my lesson plans (Strongly recommend if you haven't used it!)
When you plan your lesson, please make sure to keep your kids not to loose a focus on coding. Coding can be very difficult and boring for kids, so explain with examples your kids can be familiar with and also add some coding-related game playing times so that your kids can be entertained.
In my case, I found my daughter felt bored (she looked even sleepy) from the first lesson, so I implemented a simple number guessing game and hangman games in python and let her play those games with the reminder that she can make them eventually. I also created a simple quiz by using Kahoot!
to review a previous lesson.
Also, try to research any online learning site to see if there is a kids programming course and what agenda each course made. I am pretty sure it will give you the new insights in term of how your lesson might look like. I used Udemy
as my research source.
3. Do your first class with your kids
Like Nike's slogan, Just Do It
You don't need to be perfect for teaching your kids.
Make mistakes, fix them and explain to your kids how you fix. That's how I am doing it now and believe how my daughter learn naturally how to fix the mistakes as I learned how to fix the stuffs from my dad.
I know this is very early stage to share what I learned and highly likely to change my proof of concept on teaching my kids constantly during the course of future lessons. But I strongly recommend trying a coding lesson with your kids. It will be definitely worth to trying and you may find yourself making great memory with your kids.
Cheers!