I always consider myself an “accidental software/IT engineer by profession”. In the late summer of 1997, I stepped into the training centre of my first employer at Hyderabad, India – I was a campus hire in the era of the booming software industry of India and IT companies was on a hiring spree. I was one of those who had decent aptitude but seriously lacked IT/computer knowledge. Next 3 months, I was trained and transformed from Mechanical Engineer to a Software Engineer, thanks to an awesome training model.
Before this training, I believed in learning myself and didn’t believe in “training” as such. However, the training not only trained me in coding but also taught me the importance of a well-structured and guided training model. It was the day where mostly brick-and-mortar training institutes across the country were mushrooming but video-based, Coursera or Udemy style courses were not on the horizon.
I still remember my journey, struggle and transformation into coding, In the era of ever-increasing and demanding STEM, more and more parents are encouraging kids to start early on programming. Knowing that now we have plenty of choices – video-based, instructor-led, gamification etc., it is more confusing than ever to start and ultimately finish.
Irrespective of what you pick or try for your kid, here is the list of challenges in learning coding, you should be aware of.
Focused on syntax and not on problem-solving skills
Coding is an art and science in which we implement an algorithm into code using a programming language. Irrespective of what programming language you chose, the key is the student’s ability to solve a problem. Most of the courses focus mostly on the syntax of the language and not on problem-solving steps. You may learn (and later forget) how to write syntax, but if you don’t know how to solve a simple question, all your coding knowledge will go in vain.
No real-time help
This is one of the biggest challenges in learning coding. When you start learning and coding, you make tons of mistakes in syntax. Thanks to jargons thrown by compilers, you won’t know how to move forward and you may end up wasting a lot of time in figuring out the code that will eventually learn. Add a few experiences similar to this and you are on the slippery slope of losing interest. You start thinking that coding is hard. The online, video-based courses make things worse because you are pausing and playing videos several times, leading to additional frustration. You, as a beginner, don’t know how to do the right keyword search in Google either.
Lack of Practice
The practice is the key to learn to code. I have seen several courses which are entirely focused on teaching and are completely missing the practice part. Even if kids learn to code, if they don’t implement it and see the results, all their learning efforts will be wasted. Most importantly, many students don’t know where to apply after they learn and eventually, they forget. There are several practice sites but either student doesn’t know or don’t have the motivation to visit and continue.
Lack of Engagement
The majority of middle and high schools lack motivation or focus. Keeping them engaged in a course, especially online/unguided courses is an uphill task. While the courses provide convenience to pause and play anytime, anywhere, students rarely finish courses. All of the Coursera or Udemy courses, I personally bought are left at 20-30% completion/success rate.
This is an interesting one in which few online players claim to teach your kids programming by playing Minecraft or by creating new games. In some cases, gamification has gone to an extreme where kids or students tend to involve more games than learning programming. While students have higher engagement, this model still suffers from a lack of focus on problem-solving or actual coding. I have seen kids easily distracted into gaming or not able to translate the knowledge into coding.
These are the 5 most common challenges that one faces while learning coding.
In the last 3 years, I have taught coding to several middle schoolers and high schoolers (including my daughter) in the USA, India and UK. The blog is based on my experience. I would welcome your comments and suggestions to improve the learning experience. More on www.codemode.us
Being an avid learner, technology leader, entrepreneur, mentor and educator, I enjoy teaching young brains. As a non-programmer by education, I consider myself an accidental programmer who just can’t be more thankful for it. I enjoy technology and am wow-ed by the potential of technology use for the betterment of human lives.