At first glance, Computer Science may feel like a very dry degree. Most people expect it to be full of Math and theory, and to a certain extent it is. Having said that, there are many things I have learnt both in and out of the classroom that I would like to share with you.
1. Problem Solving
In Computer Science, we tend to break theories down or even compare them to something in the world with an analogy to understand them better. We also work through our programming problems in small subsets and code them bit by bit. It doesn’t stop at the solution, though. We have to also make sure to indent and make comments on the code to ensure others who read our code can digest them more easily and understand how every piece of code works.
Essentially, Computer Science is about breaking down bigger things into smaller things. This has helped me in my day-to-day life as my analytical skills are being sharpened by the course. I am better equipped to see the hidden root issues of problems and spot the blind spots that people have. This has helped me to resolve problems and conflicts that I have with people as well as help others come to understand the truth of their situation. I can also see the importance of having clarity in my words when I talk to people as that prevents misunderstandings and resentment.
Group projects are part and parcel of being a Computer Science student. Admittedly, working together as a team is not always pleasant as you don’t always get the people you want or are able to get along with. You may even find some people and their personalities annoying. You may have nothing in common with some of them. Regardless, having been part of several group projects, I can attest to the importance of compromising and the ability to communicate without letting your emotions influence you.
These projects have taught me to respect my peers and the different strengths each of them has, and to accept our differences in order to work towards the good of the project. My school picks our teammates to demonstrate how, just like in the real world, we simply have to learn how to work together with people who come from backgrounds that are very different from our own. Being unable to get along with someone is also no excuse for mistreating them or talking behind their back. Everyone deserves respect.
3. Time Management
Coding can be very time-consuming, as anyone who has ever coded can attest. Things don’t always go the way you want them to and even when you have finished coding, there’s still a lot of debugging to be done. There’s also no way to control what bugs you may find in your program or how long you will take to solve them.
Being aware of all this has helped me to be a better planner and schedule my time better. I learnt to factor in time for unexpected problems in all of my assignments so that I can meet my deadlines. I also learnt to steward my energy and time more wisely so that I can be more productive. For instance, I know that I am more productive at night, thus I make more time to study and revise at night. This has resulted in a change in my lifestyle, and I am far more organised now than before I had taken this course.
Many ideas we have are usually not original. Even movie ideas and book plots have been recycled over and over again. When it comes to coding, this same notion applies. Any idea for a program you have has probably already been coded by someone else. This makes the job of coders easier as they can refer to other people’s code when they are stuck.
As a Computer Science student, I’ve referred to many people’s code, mainly from my lecturers, classmates, and online. As such, I’ve had to learn where I can get what kind of code from and discern how I can adapt the code to my own. We are also required to state our references, and plagiarism is strictly forbidden, so learning how to be resourceful by getting code from credible sources and adaptable by knowing what changes to make is a must.
Computer Science is definitely a discipline one can expect to learn a lot from. From problem-solving to being more resourceful, I am glad to have learnt so many things beyond the classroom. These were definitely unexpected takeaways as I figured that Computer Science would mostly only teach me how to code, yet that it did and more.