In development, we are constantly learning something new. Trying to know the latest framework, understand the next breakthrough, be on top of the next big thing to revolutionize the industry. Some of my friends are able to comprehend these new languages and syntaxes with no trouble. But when it comes to them explaining what they just learned, they seem to struggle a bit trying to break down the content into something that is easy to process. It’s not that they don’t understand the concept, it’s more like they don’t know how to convey what they know.
For the past few weeks, I’ve been teaching elementary students how to program in Scratch, a visual programming language developed by MIT. Once class is focused on teaching fundamentals and the introduction logic for the younger students, while the more experienced students get to build games. From my time spent teaching these kids, I found that while I was helping these kids learn the language and logic that will help them out in the future, it helped me learn how to make the logic more accessible for everyone to understand how it worked.
I’ve previously lectured elementary students before in South Korea, teaching immersive English and helping with language cues. It was a simple idea of helping kids learn by doing live demonstrations of how words and sentences are formed, and helping them do so as well. When it came to teach coding, it presented a bit of a challenge that I didn’t immediately notice. When it comes to native languages, we are not aware of the rules and syntaxes that are involved when forming sentences and conversation. Since we are naturally immersed in our own language, it becomes second nature and we put little to no thought into how we are saying statements. When it comes time to teach someone else how the language works, you may find yourself struggling to get your point across, simply because it’s something you’ve always taken it for granted, and just don’t have a deep enough understanding of the core principles. This isn’t any fault of yourself, just something that requires a bit of practice, and taking a close look at what is being presented. This can apply to coding as well, as you already know how these programming languages and syntaxes work, but overtime as you begin to master it, you may find it a bit of a challenge when it comes to breaking down some of these concepts to someone who is just starting out.
It was thanks to these kids that I was able to make these concepts easier to understand, even though it just seems natural to the average developer already. Sure, it seems like a no-brainer how loops and coordinates work, but I have been caught off guard when I realized that some wording that would already seem simple, just goes over everyone’s head. I remember very well when a student called me out during a code demo, saying “[y]ou should say ‘inside’ the loop, not ‘within’ the loop.” While a simple comment, it made me recognize that as a teacher, I have to be aware of who my audience is, and not just think of it as just explaining what we know to ourselves like we tend to do out of habit. I can even recall occasions when my friends were explaining concepts, and I felt like they were just speaking in an entirely different language.
Above all, the part that mattered the most was having fun with the code they were learning. To allow them to be able to explore how the code work, and to use their imagination to create some fun and interesting ideas when it comes to making animations or games. It is allowing these kids the chance to explore these ideas freely that will help them out when it comes to mastering the more complex parts of coding later down the line. So what have they come up with? You would be quite surprised!