Competitive Programming, Academic Studies and the Myth
Hello Coders!
If you are interested in competitive programming (CP) and if you are a current university student, then you should read this blog post. The main aim of this post is to dispel a widespread misconception concerning the relationship between academic studies and CP. As I am not so terrible in both academic studies and CP, I hope you may find this article credible and dependable! :)
The common myth about competitive programming and academic studies is - if you give more time to get decent academic results, you may not get enough time for CP and vice versa. So relatable, right? Actually, that is not the case at all! Playing sports or video games, watching movies, reading books, singing your favorite songs, or just hanging out with your buddies are all the ways you may spend your free time. If you do any of these things, it’s because you like doing them. The main motivation of CP is that it needs to be fun to do! CP needs to be like a game where some of the contestants attend a contest and try to perform better than others by solving programming problems within a limited timeframe with their programming knowledge and problem-solving skills. That’s why, please don’t think that CP is similar to stereotypical academic studies where you have to study something though you may not like to study that. If you take CP as an entertaining thing to do, why don’t you do it in your free time when you just do what you truly love to do! Then again, I am definitely sure that you have enough free time in a day and I don’t think that you study all day long to get a decent academic result, do you? :P I’m hoping you got the gist of it!
One of the best things about being a competitive programmer and a CSE (maybe ECE, SE or IT) student is that CS fundamentals and all those math courses (yes, those courses! :P) help you to do better in competitive programming and mutually CP helps you understand a lot of concepts of CS fundamentals. You think, how? You have your discrete mathematics, data structures, algorithms, all programming courses which are highly related to CP. You do better in those courses, you can definitely do better in CP and vice versa. A lot of methods of Operating System, Database Management System, Computer Networks, Machine Learning etc. are based on problem solving with different techniques and algorithms which are exactly similar to solving some of the problems in competitive programming. From my own experiences, I can say that CP helped me to understand a lot of concepts in CS fundamentals. Even some of the concepts which seemed to be hard ones by many others were found easier because I solved similar kinds of problems while doing CP! So, you can say that both studying CS fundamentals and doing CP expedite each other to be better in both.
So, how can you manage your time for both competitive programming and academic studies? It’s actually already answered! Give proper time in academic studies (the time may vary from person to person) and spend your free time doing CP like you have fun doing this. In the beginning, it may not be fun at all to solve programming problems, it may not be fun to do programming contests, you may fail most of the time to solve problems and yes, you can be frustrated! But, you need to give your time to understand the idea for solving a problem, improve yourself gradually, stick to practicing, brainstorming and then suddenly you will find that you are able to solve problems with your own ideas! And that will be the time when you will start to have fun solving programming problems! So much fun, I swear! And then, It’s not your free time anymore, it’s your CP time!
You may have lots of things to do daily. Not each of them is important, right? Time management is a key to having enough time for both CP and academic studies. All you have to do is prioritizing all your tasks and doing them accordingly. Now, ask yourself: can you put a high priority on competitive programming? :)
I can make a well organized daily routine for you so that you can harness your time properly. But, that will not work for you all. Every person has his own pattern of doing daily works. So, it’s your task to manage your time and utilize it properly.
Finally I have a secret to be better in both CP and academic studies. That is - practice, practice and more practice! There is nothing more important than practicing to improve in anything.
Love problem solving, don’t make it a problem for you!
Good Luck! :)
Comments