Competitive programming- a lot of people are getting into programming contests either to have fun or to secure a position in tech giants.
When I started to prepare for my job placements, I searched for a concrete advice when people who succeeded before at it declined to help. I searched google for useful resources. The whole thing was scattered. I took ten to twenty days of research to arrange the resources into categories, in an order.
I also went through quora. There is a lot of advice on competitive programming, but everything spread too thin. There’s just too much of an information out there. I didn’t know what to take, what not to. I spent so many days being confused about what to choose, which advice to take. Then I realized that I have to put things into perspective myself.
Here, in this series, you will be provided guidance from the very basics of programming to the nitty gritty of programming contests.
I have divided this series into four parts.
1. Programming Basics and Algorithmic Applications
2. Problem Solving with Algorithms and Data Structures
3. Practice required for Competitive Programming
4. The next steps – Contesting & Continuing Practice.
A person can’t get into competitive programming without actually being good in programming. So, this series assumes that you are a complete beginner and begins with the guidance you need in order to become good in programming. Algorithms and data structures are very important in getting good at solving problems. Especially in competitive programming, a lot of problems are solved applying one’s knowledge of data structures and algorithms. So, the first part will also cover the learning path for algorithms & data structures.
The second part of the series will contain guidance and resources related to the next step – starting to solve problems by applying the knowledge about data structures and algorithms, that you have acquired by following the first part.
The third part of the series will give you a step by step path towards learning the nitty gritty of competitive programming, related mathematical & programming knowledge, and few other techniques, shortcuts that will come handy.
The fourth part of the series will deal with a lot of the other details that won’t be covered in the first three parts. To say precisely, the fourth part will cover what you need to do further, once you are very comfortable with programming, contest related programming, and you have a strong control over problem-solving.
At the end of this series, you will have all the guidance you will ever need in order to become the best in programming and solving problems using programming. Do share this with your friends who might need it.