Getting Started With Competitive Programming!

Shubham Kumar Jha
The Aparoksha Blog
Published in
3 min readDec 13, 2018

Most of you must have already heard about the magical words, ‘competitive programming’. In this blog, I will be sharing my experience and provide some tips to those who want to start it or have already started it but don’t know how to proceed. Before we begin, I want to clarify that I don’t consider myself a great coder but since I have been coding for almost a year now, I have gathered some experience and have also made some mistakes at the beginning which I want to share so that no one repeats them.

Let’s begin then!

So the first question that comes to everyone’s mind:

Why Competitive Programming?

There are a lot of reasons to start competitive programming but once you start doing it seriously it becomes difficult to leave because it’s FUN. That adrenaline rush when you see ‘Running’ written on the screen and you wait to see whether you solved the problem correctly or not. Seeing your name climb up the leaderboard with each problem you solve. Being the first to solve a problem that your friends are desperately trying to solve. Frustration after repeatedly getting ‘Wrong Answer’. It’s a mix of different feelings and more of a journey in which you would learn as well as enjoy yourself.

Now that you are motivated to start, next thing that you need to do is:

Pick a Language

Just like in cricket, where we have a bat to hit the ball similarly in competitive programming we have a programming language to solve problems. A programming language is like a tool for you.

You should choose a language and become so proficient in it that you can implement any algorithm without any difficulty. The four most popular languages are:

C++ : Most used language especially because of ‘STL’ which makes life very easy because most of the necessary things have already been declared beforehand.

C : Mostly same as C++ but lacks some features like ‘STL’. If you already know C, learning C++ might be a good option.

JAVA : Slower as compared to C/C++ but has a big integer class which might be useful sometimes. If the time limit is too strict, a solution written in Java might not pass.

PYTHON : It is also slow and has a big integer class. In spite of being slow, some coders prefer it because you can implement the same thing in fewer lines of code as compared to C/C++.

One important thing that I want to clear is that I have only highlighted some of the features of these languages and there is no “Perfect Language”, it’s a personal choice so always choose a language in which you are comfortable because at the end of the day you have to write codes in it.

Now the first thing you should do before we move any further is learning the basics of the language your choice.

I’m including the link of a great playlist that aims to teach C++ to beginners:

You can find similar tutorials for any language of choice.

Also, here are the links for a few problems that you may wish to try out:

So that’s all for this blog. Look out for my next blog where I’ll take you through the various coding platforms and commonly used terms. I’ll be sharing some more resources there too. Till then I’ll recommend you to learn the basics of any one language out of the 4 that I mentioned above.

Happy Learning!

--

--