How to begin with competitive programming?

Jaskaran Singh
3 min readJan 14, 2022

--

Hi, I’m Jaskaran Singh. The goal behind me writing this is to help as many of students to navigate their journey from starting out programming to a hard-core competitive programmer!
Is it your first time, starting out CP(competitive programming)? And even after trying your level best do you think that there is still something that you are missing out? Do not worry. It took me about 6 months to go from a noob programmer to someone decent enough to be a candidate master on cf or codeforces(s_jaskaran_s). I still have a long way to go, but the first step in being a good programmer is working in the real world and getting experience.
I started doing cp in January 2021. I started giving out contests on cf and also started learning new topics. I enjoyed solving the problems. CP is like a sport to me. I do it only when I want to. I don’t take any pressure regarding CP. I spent about 4 hrs daily on CP to get this good. You know what motivates me to do CP? It’s competition. I am quite competitive so I really like to get ahead of others. It motivates me to learn more and become a better programmer.
Tbh, at first I was reluctant to learn, but when I saw some some people of my batch were ahead of me, I just wanted to beat them and boom, it took me so far and now I just wanna get better and better.
If I talk about contests, I always focused on my rank in a contest rather than the rating. I tried to improve the rank gradually. You can also see that I have given a lot of contests on cf. This amount of practice and experience really helped me a lot in getting better.
Being a beginner its important that you have a proper plan before moving head on to cp. I have broken down my plan that I diligently followed, and will hopefully help you to make your own plan if you are just starting.
To head into the plan, the prerequisite is knowing the basics and syntax of one programming language. The common languages are java, python and c++ that most students follow. You can stick to the one you are more comfortable with from these three, but I’ll suggest you to start of with c++ as it is a faster language. Now if you don’t know the basics and syntax of any above language, do not panic there.
Here are the RESOURCES that I used and strongly recommend everyone to use to start the journey.
To start with, type giraffe academy c++ tutorial on yt. Watch it till 2.55, that’s sufficient for you to start cp. Now after that, I’d suggest you to do sufficient practice before learning anything new. Atleast for one month. Give every contest on cf. Your target should be to be able to solve 1-2 problems of cf contests. When you are consistent enough and confident enough that you can solve the first 2 questions or even 1 question if the 2nd question is of higher rating than 1200. You can start learning new stuff. You shouldn’t think about your rating. Just below 1200 is good enough if you have the knowledge of just the video I told you to see. Now, I’ll tell you exactly the source of my rating. You must not have heard about USACO guide. So google it right now. It is the site, which guides you to acheive perfection in cp. I’d say this guide is self sufficient. You don’t even need to follow any other thing tbh. I just followed usaco and gave contests on cf. You should start usaco from bronze section, every section has topics with increasing level. You should learn all the topics given there in any order you want. You just need to explore it once. Every topic has several links of sources to learn theories and there are several problems there to practice that topic. They are enough to make you confident enough in a topic. But don’t ever rush into learning. Your equation should be practice more than you learn.

--

--