The Topic List is designed to provide structured learning paths for Competitive Programming. Each topic is categorized by difficulty and importance to guide learners from basic to advanced levels.
Check the Basics category at the top to start learning the fundamental concepts of Programming.
It contains a step by step guide to learn a language and all the basic topics of Competitive Programming. So even if you don't want to become a Competitive Programmer, you can still learn programming following this guide.
And, if you know nothing about programming, no worries! This guide will help you to start from scratch.
Also check this guideline:
If you already know the basics of programming, you can do the following:
Do not get overwhelmed by the number of topics. Just start with the basics and keep going. If you are done with the basics, then you are already better than 80% of the people and ready to be an Expert in Codeforces. And, if you are done with most of the 3* topics of easy and medium difficulty, and solve enough problems in Codeforces, then that is enough for you to be a Grandmaster in Codeforces, and this should also be enough for ICPC contests. Of course if you want to perform the best in ICPC, you might need to learn more.