Education of a Programmer: Why It Should Not Be Same as Other Professions
"I hear and I forget. I see and I remember. I do and
I understand" ~Confucius.
A world in which enduring technological dominance seems endless, opting for a career in programming would be nothing but a wise choice. Today, various new professions have emerged from the seeds once sown by technology.
"There's never been a better time to be a software engineer,"
says Jon Bischke, the CEO of tech recruiting firm Entelo
. Whereas, Forbes
has rated software engineering the fourth-best college degree in terms of short term and long term return on investment. With an emerging job market and booming modern fields like artificial intelligence and machine learning, many set on the journey of becoming a Computer Scientist or a Software Engineer.
Typically, to develop expertise in a certain field, we tend to gain a traditional four-year bachelor's degree in it. However, while considering the dynamics of the modern professional world and the intricate branches of IT, is our educational system effective enough?
Before answering this question, let's first deviate a bit and contemplate over our existing course of a bachelor's degree.
● Conventional Undergraduate Degree:
After being tutored a bunch of subjects in a period of three to four years, a student eventually obtains a bachelor's degree in a particular field. The subjects he studies each semester gradually build and shape up their degree. Moreover, along with the exams, we have assignments, quizzes, and projects for up skilling and evaluating the students.
Students are also mandated to obtain an internship certification associated with their area of interest, an immensely productive but seldom compulsion. In addition to all of this, a final year project and some presentations pretty much sum up a typical undergraduate program.
● Why Should It Be Different for a Computer Scientist?
"We are what we repeatedly do. Excellence, then, is not an act, but a habit." ~Aristotle.
Look, neither I am a fan of skipping the college degree entirely and jumping into the professional world straight away, nor do I endorse sticking merely to online videos instead of proper university education. However, I believe we are certainly more rational than still following this old methodology of seeking a degree in IT.
Unlike the majority of programs, computer science makes you navigate amongst this sea of sub-disciplines and branches. Most popular of them include Artificial Intelligence, Cyber Security, Application Development, Computer Graphics, Game Development
, IoT, and Web Development.
So, without any further ado, let's delve into the issues with the ongoing fusion of traditional undergraduate and computer science.
One can only hone their programming skills
and become a better coder through practice and application. The same is the case with other tasks. Suppose you are willing to write a dissertation, either you can write multiple drafts until it is perfect or you have to consult online dissertation writing
Unfortunately, due to a lack of opportunities in the existing system, we seem to be in dire straits. Though students might gain exceptional theoretical knowledge
, when it comes to applying it, they seem befuddled and unsure. On top of this, as a result of insufficient practice, they even lack some essential skills like self-reliance and logical thinking.
The unfitting balance between theory and practice might sometimes inculcate a wrong impression in a student's mind, which results in shifting their entire focus on the theoretical part. The existing grading system also advocates the theoretical aspect of education by valuing exams above practical projects.
As discussed above, CS is a field having numerous dimensions. Hence a student might get bewildered by the available options and end up in a state of being proficient in none. To tackle this issue, the current counselling methodologies must be enhanced.
In a nutshell, a period of four years is enough to lay the base of primary fields of computer science as well as aim for building at least a proficient level of technical skills in each student.
is one of those fields which is continuously improving, resulting in major transitions. Unfortunately, the quality and content of education are not being improved simultaneously, befalling as a conundrum over students graduating. Hence, they are often unaware of the latest technology and its contribution to modern times.
I believe it's time that we devise a compelling teaching strategy addressing the above-discussed issues and ensure the prosperity of CS graduates. To give you an insight, I have highlighted certain possible measures for rectification.
● A glimpse of a modern system:
"Vision is a picture of the future that produces passion." ~Bill Hybels
For an optimum and effective system to be in the place, we must be clear about our vision. After all, a bachelor's degree graduate will be a reflection of our program. Earlier on, you might have identified insufficient practice and application as the root cause of certain issues with the traditional system. My proposal to address this issue is with endurance.
Students must be obliged to work on a variety of tasks determined
by the department of computing. These tasks can be a checklist comprising certain projects that the faculty feel each student must work on before graduating. These might include developing a mobile app, a web application, a game or a graphic project, training an AI model and its
To conduct this successfully, a system may be developed to follow the trails of each student throughout the degree. A student must consult a career counsellor right through the degree. Along with this, every institution must oblige students to work as an intern in industry or ongoing university projects. This will ensure their up skilling and boost their confidence.
Along with this, the management must redefine the grading system, ensuring that the practical work's worth is enough to signify it in the eyes of the students. Furthermore, different competitions and events must be conducted in order to encourage students to portray their programming skills. People from industries must be invited more often to make students acquainted with modern tech.
If we don't change, we don't grow. If we don't grow, we
aren't really living. - Gail Sheehy
Subscribe to get your daily round-up of top tech stories!