A curated collection of resources for competitive programming, algorithms, and data structures.
Awesome Competitive Programming is a curated GitHub repository that aggregates the best learning resources for competitive programming. It includes tutorials, practice platforms, books, tools, and community links to help programmers improve their algorithmic problem-solving skills. The list is maintained based on over a decade of experience in the field.
Students, software engineers, and enthusiasts preparing for programming competitions like ACM-ICPC, IOI, or coding interviews at tech companies. It's also valuable for self-learners wanting to deepen their understanding of algorithms and data structures.
It saves countless hours of searching by providing a single, trusted source for high-quality competitive programming materials. The list is meticulously organized, regularly updated, and includes resources vetted by experienced practitioners.
:gem: A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiles tutorials, books, practice sites, and tools from over a decade of experience, as evidenced by the extensive table of contents covering everything from syllabuses to community blogs.
Maintained with contributions from the global competitive programming community, ensuring diverse and vetted resources, highlighted in the 'Contributing' section and regular updates.
Includes problem classifiers and syllabuses to help users find appropriate materials, such as the 'Problem Classifiers' subsection and star-rated resource tables for guided learning.
Features resources in multiple languages like Chinese, Russian, and English, catering to a worldwide audience, as seen in tutorials like E-Maxx and books sections with international editions.
As a GitHub repository, it relies on manual updates; some links or resources might become obsolete over time, and there's no automatic refresh mechanism mentioned in the README.
The sheer volume of resources can be daunting without a step-by-step curriculum, as the list aggregates materials but doesn't provide a personalized learning path, only broad categories.
It's merely a list, not a platform; users must navigate to external sites for practice and tools, which can lead to a fragmented experience compared to all-in-one solutions like HackerRank.