5 Effective ways to teach coding
STEM paths are catalysts for passion, dedication, and creative minds. I was only 15 when I happened upon this beautiful world, filled with lines of words upon words, that when clicked on run, turned my computer into a magical place.
I have loved coding and technology ever since that day in the Prezi office building in Budapest. My life was forever changed due to finding this great passion of mine.
Fast forward 2 years later it was my first time mentoring at a coding workshop. A few months later, it was my first day at such a workshop as the teacher when I was only 17.
I can’t say that I am an expert in coding or teaching, or well for the most part in anything yet. However, I have found methods that seemed to work with even the kids whose only goal seems to make you run around the room.
These are 5 effective ways you can teach coding, even when you are young.
But, why would I teach?
Well, I could tell you all about how I love giving back, and because I was taught about all I know about coding by amazing volunteers (and the endless source of tools on the internet, thanks to Google). But overall: That by teaching others, you essentially teach yourself.
The greatest test of knowledge is teaching.
Start as a mentor
Do it visually
Create YOUR games
Explain, explain, explain BUT let them experiment
1. Start as a mentor!
Mentoring is a great way of starting a teaching journey. When you mentor at a workshop, you only have to focus your attention on a few students. This allows you to examine specific understanding problems at different ages.
Such as lack of required knowledge in math and physics, is very likely to occur in the younger groups. Where in some cases you will have to come up with fun ways of explaining (more about that later) or help them figure out a way of solving the encountered problem, by using the knowledge they already have (This can become quite tricky).
When you are a mentor, you have to worry about none of this, the teacher will likely already have tricks on how to handle all of this. You only have to help with personal issues of understanding, and mainly putting the explained in a different light, or pushing them towards using more of their imagination. As a mentor you offer personal help, you do less of the teaching. All of this will be very handy once you do start to teach.
Remember their ways of teaching, the games they play, how they explain, in what order they go.
On that note, also remember doubts the students ask you about more frequently because you will be able to aid your course by already mentioning these.
2. Do it visually!
I also learned this way :)
I know, I know. This has been said on the internet and off the internet a million times. Teaching visually is key, in aiding a student's success. But when I say visually I mean teaching coding for games, apps, websites, or basically anything that you can see do something on your computer.
Anyone of any age will love doing something when they can instantly get feedback for their work. This is a huge issue in tech education when it comes to teenagers, they can lose interest very quickly if they receive no feedback. When you see it happen, that’s when you will have a great rush of pride.
Also, your way of teaching should be visual, when you are explaining how you can make your character run, actually run. Let them tell you what they would write, and show them how that would work! This works really well especially when it comes to explaining more complex ideas, such as moving backgrounds. And the younger your group the more you will have to resort to this!
3. Create YOUR games
When you google Scratch teaching materials, Minecraft teaching materials, or MIT App Inventor, Python, and so on, you will find hundreds of great results. You can obviously use them as a way of getting a hang of teaching them if you have no resources yet. BUT!
Remember that all of your groups will be unique, this is very important to keep in mind. As much as the internet is a wonderful source of knowledge, if you pay attention to the needs of your groups it will aid not only their but your experience as well.
Education is anything but one type fits all!
In these one-day workshops or especially when it comes to long-haul courses, you have the room and opportunity to give your students something they will barely ever get in the general education system. And that’s adjusting the course to them.
This can mean something as little as leaving more time for students to play with the game they have created or teaching them about changing the color, or maybe just letting them show the other’s what they have created at home, or maybe even in the class.
Make it themed, make it funny, make it how you think they will like it.
4. Explain, explain, explain BUT let them experiment
This one also plays a huge role in the efficiency of your education, as it is also something that aids their personal development. This can help in major ways when it comes to teenagers, to use more of their imagination, as well as aid to the depth of their understanding.
When you let your students maybe just for 5 minutes run wild in their computers, and do whatever they think could work for solving a problem, or maybe how they imagine something would look, will help students learn from each other and themselves. They will figure out that maybe they misunderstood something, or think of a way even you didn’t think the problem could be solved.
Remember that explaining is also very important, patience is the secret.
5. Have Fun!
The last one is quite self-explanatory. Have fun when you teach, for this will be visible to all of your students, and any mentors helping you out. If they can see the passion and happiness you can find in coding, they are more likely to happen upon it as well.
Overall, teaching is never going to be easy, nor will it ever be about tricks, and tips. You will face issues with your students, something will almost always go wrong with the used technology, and so on. But it's one of the best ways to show your passion for tech, and it has been one of the greatest things I have ever done with my knowledge.