How Coding is being taught in a Third-World Country
I’m a third-year Computer Science Student in Myanmar. You might not have heard of Myanmar. It’s a third-world country in South East Asia. I’m not sure how’s the situation in other third-world countries. So, I’ll not generalize all third-world countries, and just point out what’s wrong in our country.
I believe algorithmic thinking is more important than learning to code. And therefore, I believe coding should be taught in a way that would require student to think or brainstorm. I was lucky to learn coding from one of the places that actually forces me to brainstorm the solution algorithm. There are many online courses students can turn to and there should be no excuses to do so. But the education from universities should be enough at least to introduce what’s it like to learn coding and that it’s actually is fun!
The problem with universities here is that they teach coding to pass the coding exam. For example, when they teach looping. They teach how to use “for”, “while”, “do.. while” etc. with an example and make us wrote exactly like that example instead of brainstorming based on the example. After a year at a university, you only ended up knowing “how to find the area of a square” with coding. We weren’t taught different sorting/searching algorithm i.e. they only teach Linear search and Bubble sort which is enough for the exam. So what do the students do? They learn the solutions by heart to pass the exam.
Another one is that IDEs are used to teach a student who has never experienced coding before. IDEs are good and they reduces work. But I believe it shouldn’t be used for a starter. Writing with a text editor first had more benefit for starters because they teach you how to trace the errors, how to proof-read the code and teach you the very basic of coding words by words without auto-completion.
The last is that the teaching method are one-way methods. It’s not student-focused. They does not encourage you to ask questions. They does not let you brainstorm that much. They teach you a way to solve a question but not make you think of different ways to solve the same one. When I started learning coding, I had the experience to think of different ways to multiply numbers without using multiplication operators. This made me think outside of boundaries but I believe many students does not have this experience at universities.
But is it just at universities? Not really. Even the most popular training courses outside of universities also teach it the same way. I wasted 6 months at a course where I actually ended up learning nothing. We had to submit an assignment at the end of the course, and if you can’t do it, teachers do it for you. This ended up with all students having same code at same lines with different variable names to pass plagiarism-check. And that’s just plain wrong.
The result of this style of teaching is the most students think coding is rather a subject they need to learn to pass exam than a fun and actually usable skills and can get jobs with it. Students may pass a JAVA exam at their university but they don’t know what to continue from there. 90% of the people ended up being bank accountants after learning Computer Science. That’s the sad truth we face here.
Some senior students found a solution for this problem. They basically gather the students and do an online course. CS Club at a computer university is doing a CS50 course this year and I really glad they did. I’m planning to do it the same way at my university the following week.
If you have any idea to solve this problem, feel free to share with me and I will forward them to respective people.
P.S This is my first post on Medium. If there’s any mistake, please forgive them. Thanks for reading this