Codementor Events

Getting Started with Competitive Coding !!!!

Published Jun 06, 2019Last updated Jun 10, 2019

I WANT TO START MY CODING JOURNEY, WHERE TO START FROM AND HOW TO BEGIN??
I come across many questions like the one above and here I will answer this in brief. With this, I aim to start a blog which will cover coding concepts especially aiming to improve the competitive background.

1. BE PERSISTENT 

I see many who start with enthusiasm but do not continue their journey. There are many reasons :

You wanted to give a try to these things and you later realized this cake is not for you - this reason is completely fine to drop out!

You started well but later you mixed so many things to work upon that you lost control over all things. This happens with many people. Even When I started to learn Competitive Coding/Coding, I wasn't aiming at this one thing itself. I wanted to learn almost all things at the same time! But even you know its practically not possible. So, I decided to master one topic at a time and then move to another. That's how you should take it.

You wanted to continue but you never found an exciting peer network to start with. This is the primary reason, where I feel, most attention is needed. You need to find peers who can learn and code with you and growing in a network is always beneficial as it keeps you with the group and you can yield drastic results. Even a group of 2 people determined people can do wonders.

2.  BE SELECTIVE

You need to limit your access over the internet for resources. This step is very necessary for your growth over the logic of a given problem. It's always easy to understand the solution of others but to frame one of yours requires thinking! I mean to say that you first devise your pseudo-code for a given problem and then you should look at the perfect solution's time complexity. Given these things, you should then try to figure out your approach and then look at the ideal one. Even if your code passes all the test cases, you should follow the above practice to develop your good habits.
I think you should use some of these sources to practice and build your concepts over competitive programming :

https://www.spoj.com/problems/ - This will develop your DS and Algo skills

https://projecteuler.net/archives - This will develop your Mathematical Skills

http://codeforces.com/ - This is by now the best source for competition 

https://www.codechef.com/ - Beginners can start Competition here

For Absolute beginners:
Following prerequisites are needed to begin solving problems of competitive programming:

Knowledge of C or C++
In any case (either C or C++), learn using STL 
Basic +2 mathematical background 

To learn C:

I would suggest you follow your institute notes - I presume each institute offers a basic CS course.

To learn C++:
Instead of having a reading and then implementing, I will suggest you start with https://www.hackerrank.com/domains/cpp.

This goes from very basics, starting from "Hello World"! You learn while you code. To enhance your skills, you can google for any topic you want to understand in deep.

To learn STL:
https://www.geeksforgeeks.org/cpp-stl-tutorial/
Once you complete your basics, you should move to practice the questions mentioned above and start your coding journey!!

With this, I come to an end of this section!

I will be posting things as I learn so that I keep a record of each and every concept I learned that can be helpful for me as well as others in the near future!!
Keep coding!!

Discover and read more posts from Ayush Jain
get started
post commentsBe the first to share your opinion
Show more replies