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.