Awesome Competitive Programming
A curated GitHub directory of awesome competitive programming, algorithm, and data structure resources, fitting into the broader ecosystem of Awesome-style lists.
About this tool
Awesome Competitive Programming
A curated GitHub directory of high-quality resources for competitive programming, algorithms, and data structures.
Website: https://github.com/lnishan/awesome-competitive-programming
Overview
Awesome Competitive Programming is an open, community-maintained list that aggregates learning and practice resources for competitive programming. It covers theory, practice platforms, courses, books, tools, and community content, organized into clear sections to help learners at different levels.
Features
Scope and Structure
- Focuses on competitive programming, algorithms, and data structures.
- Curated from over a decade of competitive programming experience.
- Organized table of contents for easy navigation:
- List of Lists
- Syllabuses
- Tutorial Websites
- Open Courses
- Open Courses for Algorithms and Data Structures
- Books
- Books for Algorithms
- Books for Mathematics
- Sites for Practice
- Problem Classifiers
- Contest Calendars
- Camps and Trainings
- Sites for Questions
- Implementations
- Language Specifics
- C/C++
- Java
- Miscellaneous
- Tools
- IDEs
- Personal Use
- Contest Preparation
- Community
- Blogs
- YouTube and Livestreams
- Quora
- Other Awesome Resources
- Articles
- FAQs
- Awesome Lists
- Interview Questions
- License
Content Highlights (examples from the list)
-
List of Lists
- Meta-collections of algorithm and data structure tutorials.
- Includes resources such as:
- Codeforces blog collections of tutorial posts (e.g., on Palindromic Trees, policy-based data structures, and more).
- Comprehensive lists of competitive programming resources and preparation guides.
-
Learning Resources
- Syllabuses outlining what to learn for competitive programming.
- Tutorial websites and articles explaining key algorithms and data structures.
- Open courses focused on algorithms, data structures, and related mathematics.
- Book recommendations for algorithms and mathematics relevant to competitions.
-
Practice & Training
- Links to major online judges and practice sites.
- Problem classifiers to find problems by topic or difficulty.
- Contest calendars to track upcoming competitions.
- Information on training camps and organized trainings.
-
Reference & Implementations
- Implementations of common algorithms and data structures.
- Language-specific tips and references for:
- C/C++
- Java
- Miscellaneous languages/tools.
-
Tools & Environment
- Recommended IDEs for competitive programming.
- Tools for personal productivity (e.g., snippets, templates, utilities).
- Tools and checklists for contest preparation.
-
Community & Ongoing Learning
- Blogs by competitive programmers.
- YouTube channels and livestreams.
- Relevant Quora content and Q&A resources.
- Additional article collections, FAQs, and interview-focused resources.
-
Open Source & Contributions
- Hosted on GitHub under an open license.
- Public contribution guidelines via
CONTRIBUTING.md. - Encourages contributions of new links and improvements.
Pricing
- Free: The list and all its entries are freely accessible on GitHub. Individual linked resources may have their own terms, but the directory itself is free to use and contribute to.
Loading more......
Information
Categories
Tags
Similar Products
6 result(s)An Awesome-style curated collection of algorithm visualizations and tools for understanding data structures and algorithms.
A companion Awesome list focused on learning and practicing algorithms, including courses, tutorials, and problem sets.
An awesome curated list of games and interactive resources designed to teach programming through gameplay.
A comprehensive Awesome list of programming and technical interview questions, categorized by language, framework, and role to help candidates prepare for interviews.
A curated awesome list of resources, tools, and learning materials to teach programming to children.
An Awesome collection of educational resources and materials for learning Swift.