The Topic List provides structured learning paths for Competitive Programming. Each topic includes curated resources, practice problems, template codes, and community solutions — organized by difficulty and importance.
Choose your level below to see a personalized roadmap
Select Your Level
Beginner
New to programming
Start from scratch with Basics
Intermediate
Knows the basics
Structured topic-wise learning & ICPC prep
Advanced
Codeforces Purple or Beyond
Compete at the highest level
Interview Prep
Tech Interviews
Topics asked at top tech companies
Open the Basics Category
Click on 'Basics' in the Topic List - it's a complete beginner-friendly roadmap. If you know nothing about programming, then you can learn programming following this guide and also get started with competitive programming.
Follow Topics in Order
Each topic includes learning resources (articles, videos, tutorials) and practice problems - all curated for you.
Learn → Practice → Repeat
Read the resources first, then solve the attached problems. Problems are sorted by difficulty.
Use Template Codes
Check template codes in topics to see clean implementations you can learn from.
Learn from Others
Stuck on a problem? Each problem has solutions from other users - see different approaches and learn new techniques.
Start Participating in Contests
Once comfortable with basics, join beginner-friendly contests on Codeforces (Div 2/3/4). Don't worry about rating initially - focus on learning.
Upsolve After Contests
After each contest, solve problems you couldn't finish. Check editorials and others' solutions to understand what you missed.
That's It!
Everything you need is here - resources, problems, templates, and community solutions. Just follow the Basics category step by step.
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.
Focus on quality over quantity. Understanding concepts deeply is more valuable than rushing through topics.