We Are Teaching Computer Science Incorrectly

We Are Teaching Computer Science Incorrectly

DISCLAIMER

This is actually not one of those posts you read online that aims to play down the educational system or stuff of a similar sort. In fact, think of this post as an observational post that aims to highlight some very evident problems in the way computer science & IT is being taught based on my own personal observations. 

The Opportunity in IT

Did you know that the IT industry is arguably the fastest growing in the world? A bold claim this is and as much as I might not have some Forbes.com level of factual credibility to back this up, we can all agree vaguely that the IT industry is rapidly growing. Some reports even outline that by 2030 there will be around 1.5 more jobs in IT than qualified people to fill them. At this point, you might wonder what point I am aiming at. My point is simple.

It is the best time to be in IT or to have a Computer Science related skillet. 

Computer Science Today 

Computer Science is the sub field of IT that I will focus on in this post. It is basically one of the most in demand skills today on various experience levels. Although a lot of young people have realised the potential in IT and either taken up an Computer Science degree, or expanded their current skill set with some specific Computer Science skills like web development or graphic design, there is still a problem which the educational system has failed to tackle. This problem is how Computer Science is being taught today.

The Problem 

Let me take you on a journey about my personal journey with Computer Science. Just around the Millennial period, I took a real interest in computers. This interest strengthened when I discovered the internet. I used this internet to learn some really cool skills like creating websites and writing some code all by myself based on my own interest. Then around 2015 I went to university for a computer science degree. Now I went to a top-rated university, with top-rated facilities and lecturers in the Computer Science field. 

To give the context of how good a University I attended, in comparison to my friends at other universities, in my first year I was messing with stuff they did not touch till their 2nd or final years of study. However, there were still some issues that the university never addressed with the way the subject was taught in my opinion.

Issues

  • Overly Abstract: Majority of content delivered was too abstract in nature. Not enough examples with real-world relative scenarios were made.
  • Fastly Evolving: This one is self-explanatory. Everyday, a new way of doing the same thing evolves in computing. This means that what you learned today might be simply out of date tomorrow, & it's no ones fault. 
  • Not Enough Specialisations: Computer Science is vast and the people learning it are vast too. What I noticed is there was a one size fits all approach and this was very poor. Some people have eye for the abstract, some have a knack for algorithms, some are great architects and not enough specialisations were made available. 

There are so many other points but I'd keep it brief and focus on only these listed 3. So what is the solution? 

The Solution

  • Relational Examples: 

If you can't explain it to a six-year-old, you don't understand it yourself.

  • Albert Einstein famously makes this quote. Basically, there is a need for more relational examples. If the content being given to students is made to relate to things they encounter everyday in life, chances are that they will always remember this concept. 
  • Conceptual Delivery: This is the most important point. Today in Computer Science, there are a lot of people that know how to get work done but falter in concepts. Let me give an example. Take for example a car. There is a reason why when you learn to drive a car, they teach you the basic concepts like what a gear is, what a side mirror is for etc. These basics are what you use to to drive a car forever. Ss soon as you step into a different car like a van, you might only need to get used to driving the van but you depend on the very same basics that you used to pass your driving test to drive the van with some new tricks. This is key in addressing the fast changing nature of Computer Science. Equip yourself with the concepts, and you will be prepared for any change no matter how diverse.
  • More Specialisations: In my opinion, this is a problem that affects other fields of study as well. We need to realise that the one size fits all approach doesn't really work perfectly for everybody. Computer science is big and is getting bigger. People are beginning to specialize in different areas. I think the margin for specialisation needs to be made smaller. Different people have specific skills or areas they are excellent at and I think it will be good that they are able to fully explore and develop these specialised pools earlier that what it currently is. One field we can learn from is the engineering field. For example we have Mechanical, Aeronautical, Chemical Engineering. We even have Marine Engineering as a specialized degree. Computer Science needs something similar to this in order to serve the needs of this growing industry.

Roundup

As a Computer Science personnel myself, I also heavily care about the educational infrastructure of today. I believe solving the problems highlighted in this post will have a direct effect on what kind of world we are building tomorrow. If we are to believe recent statistics which currently indicate that tomorrow's world is going to need a lot of Computer scientists, well it is about time we started training much better ones.

If you liked this post feel free to share it. 

Post a Comment

Previous Post Next Post