This document describes the competitive programming and problem-solving resource index maintained at more/problem-sets-competitive-programming.md1-162 This curated collection provides platforms, tutorials, and structured learning paths for algorithmic problem-solving, competitive programming contests, security challenges, and data science competitions. The resource serves as a comprehensive directory linking to external platforms where users can practice coding skills and participate in programming competitions.
For information about interactive coding platforms where code executes in the browser, see Programming Playgrounds. For structured course content on algorithms and data structures, see Course Collections.
The problem sets resource is structured as a single markdown file with six distinct categories organized alphabetically by platform name within each section.
Title: Problem Sets File Architecture
Sources: more/problem-sets-competitive-programming.md1-162
The file begins with an index section more/problem-sets-competitive-programming.md1-9 that provides anchor links to all major categories:
| Category | Line Number | Anchor Link |
|---|---|---|
| Competitive Programming | 11-58 | #competitive-programming |
| Capture the Flag | 60-79 | #capture-the-flag |
| Data Science | 81-90 | #data-science |
| HTML and CSS | 92-95 | #html-and-css |
| Ladders | 97-105 | #ladders |
| Problem Sets | 107-162 | #problem-sets |
Each section uses markdown heading level 3 (###) and contains alphabetically sorted resources as bulleted list items with hyperlinks.
Sources: more/problem-sets-competitive-programming.md1-9
The largest category, spanning more/problem-sets-competitive-programming.md11-58 contains 47+ competitive programming platforms and learning resources. This section includes both active contest platforms and algorithmic practice sites.
Title: Competitive Programming Platform Classification
Sources: more/problem-sets-competitive-programming.md11-58
| Platform Type | Examples | Line References |
|---|---|---|
| International Contest Sites | Codeforces, AtCoder, Codechef | 27, 17, 23 |
| Practice Judges | LeetCode, HackerRank, CSES | 45, 39, 33 |
| Educational Platforms | Codecombat, Codewars, Exercism | 24, 30, 37 |
| Specialized Judges | APL Contest, JSCodebox, BigFrontEnd | 16, 41, 20 |
| Regional Platforms | Dimik, beecrowd, Newton School | 34, 19, 48 |
| Tutorial Resources | CP Algorithms, Cheat Sheets, PDFs | 15, 32, 13 |
The category includes platforms for multiple programming paradigms including imperative (C++, Python, Java), functional (APL), and web-focused (JavaScript, Frontend).
Sources: more/problem-sets-competitive-programming.md11-58
The CTF section more/problem-sets-competitive-programming.md60-79 contains 18 cybersecurity challenge platforms focused on ethical hacking, penetration testing, and security skill development.
Title: CTF Platform Hierarchy by Difficulty and Type
Sources: more/problem-sets-competitive-programming.md60-79
Many CTF platforms note registration requirements inline using the pattern (email address *requested*) or (email address *required*):
| Requirement Pattern | Platforms | Example Line |
|---|---|---|
email address *requested* | CTFlearn, Google CTF, Hacker101, Hackthebox, HackThisSite, Picoctf, TryHackMe, echoCTF | 63, 67, 68, 69, 70, 74, 78, 66 |
email address *required* | ringzer0ctf | 75 |
| No requirement noted | CTFtime, ångstromCTF, InCTF, Microcorruption, Overthewire, DamnVulnerableDefi, ROP, SmashTheStack | 64, 62, 71, 72, 73, 65, 76, 77 |
This metadata allows users to understand access requirements before visiting external sites.
Sources: more/problem-sets-competitive-programming.md60-79
The data science section more/problem-sets-competitive-programming.md81-90 contains 7 competition platforms focused on machine learning, data analytics, and AI challenges.
| Platform | Line | Primary Focus |
|---|---|---|
| Kaggle | 88 | General ML/DS competitions, datasets |
| AIcrowd | 83 | AI challenges, research-oriented |
| CodaLab | 84 | Academic competitions, benchmarking |
| CrowdANALYTIX | 85 | Business analytics problems |
| Deep-ML | 86 | Machine learning problem solving |
| DrivenData | 87 | Social impact data science |
| Zindi | 89 | Africa-focused data science |
All platforms follow the same markdown list format with platform name as link text and URL as href attribute.
Sources: more/problem-sets-competitive-programming.md81-90
The Ladders category more/problem-sets-competitive-programming.md97-105 provides curated problem progression systems that guide learners through increasingly difficult challenges.
Title: Ladder Resource Organization
Sources: more/problem-sets-competitive-programming.md97-105
Three ladder resources are attributed to "Striver" or "take U forward(takeuforward)" more/problem-sets-competitive-programming.md102-104:
These represent structured learning paths with author attribution, distinguishing them from anonymous platform listings.
Sources: more/problem-sets-competitive-programming.md102-104
The largest and most diverse category more/problem-sets-competitive-programming.md107-162 contains 52+ resources including video series, practice platforms, curated problem lists, and specialized challenge sites.
Title: Problem Sets Resource Classification
Sources: more/problem-sets-competitive-programming.md107-162
Several resources explicitly target technical interview preparation with structured problem sets:
| Resource | Line | Description |
|---|---|---|
| Top Interview 150 | 157 | LeetCode curated list for interviews |
| Grind 75 | 134 | TechInterviewHandbook problem set |
| NeetCode 150 | 143 | Video solutions for interview problems |
| InterviewBit | 140 | Interview-focused practice platform |
| 500 Data structures and algorithms interview questions | 111 | C++ solutions on Quora |
| Last Moment DSA Sheet(79) | 44 | Striver's interview preparation sheet (appears in Competitive Programming section) |
| Top Coding Interview Problems | 54 | Striver's SDE sheet (appears in Competitive Programming section) |
Sources: more/problem-sets-competitive-programming.md44-162
The category includes resources targeting specific languages, paradigms, or domains:
Language-Specific:
Domain-Specific:
Sources: more/problem-sets-competitive-programming.md107-162
The file consistently applies metadata patterns to provide additional context about external resources.
Many resources include author names following the pattern Title - Author:
A Way to Practice Competitive Programming - Masataka Yoneda (PDF)Last Moment DSA Sheet(79) - StriverTop Coding Interview Problems - StriverSystem Design Roadmap - take U forward(takeuforward)#C++ - Keerti Purswani100 Days CSS Challenge - Matthias MartinAdventJS - Miguel Ángel Durán «midudev»The Ultimate Topic List - Shahjalal ShohagSources: more/problem-sets-competitive-programming.md13-155
The file uses italic text in parentheses to indicate access requirements:
| Pattern | Meaning | Example Lines |
|---|---|---|
*(email address requested)* | Optional email registration | 94, 63, 67, 68, 69, 70, 74, 78, 66 |
*(email address *required*)* | Mandatory email registration | 75 |
*(GitHub account requested, not required)* | Optional GitHub OAuth | 114 |
*(Codepen account requested, not required)* | Optional Codepen login | 110 |
Sources: more/problem-sets-competitive-programming.md60-114
Resources explicitly note file formats when applicable:
(PDF) - more/problem-sets-competitive-programming.md13Sources: more/problem-sets-competitive-programming.md13
The problem sets resource connects with other repository components through cross-referencing and complementary content coverage.
Title: Problem Sets Position in Repository Learning Ecosystem
| Resource Type | Focus | Relationship to Problem Sets |
|---|---|---|
| Books #3 | Theoretical knowledge, reference | Provides conceptual foundation for solving problems |
| Courses #2 | Structured instruction, video content | Teaches algorithms and techniques used in competitions |
| Playgrounds #4.3 | Quick code execution, testing | Enables rapid prototyping of solutions |
| Interactive Tutorials #4.2 | Guided learning with feedback | Bridges theory to problem-solving practice |
| Problem Sets #4.4 | Application and competition | Tests and reinforces learned concepts |
Sources: more/problem-sets-competitive-programming.md1-162
The problem sets file participates in the repository's automated validation workflows.
The check-urls workflow .github/workflows/check-urls.yml validates all external links in more/problem-sets-competitive-programming.md With 130+ external platform links across lines 13-161, this workflow ensures:
Sources: more/problem-sets-competitive-programming.md1-162
The fpb-lint workflow .github/workflows/fpb-lint.yml enforces:
The file's strict alphabetical organization (e.g., "A2 Online Judge" before "Algorithms for Competitive Programming" at lines 14-15) enables automated validation.
Sources: more/problem-sets-competitive-programming.md1-162
New problem sets or competitive programming platforms are added following this pattern:
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/6a7d2f47/Platform Name" undefined file-path="Platform Name">Hii</FileRef> or * <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/6a7d2f47/Platform Name" undefined file-path="Platform Name">Hii</FileRef> - AuthorSources: more/problem-sets-competitive-programming.md1-162
The file's six-category taxonomy reflects different user intents and resource characteristics:
Title: Category Assignment Decision Tree
Sources: more/problem-sets-competitive-programming.md1-162
Some platforms appear in multiple categories:
| Platform | Primary Category | Secondary Category |
|---|---|---|
| A2 Online Judge | Competitive Programming (line 14) | Ladders (line 99) |
| beecrowd | Competitive Programming (line 19) | Problem Sets (line 118) |
| Codechef | Competitive Programming (line 23) | Problem Sets (line 121) |
| Codeforces | Competitive Programming (line 27) | Problem Sets (line 123) |
| CSES Problem Set | Competitive Programming (line 33) | Problem Sets (line 128) |
| Exercism | Competitive Programming (line 37) | Problem Sets (line 132) |
| HackerEarth | Competitive Programming (line 38) | Problem Sets (line 136) |
| Kattis | Competitive Programming (line 43) | Problem Sets (line 141) |
| Sphere Online Judge | Competitive Programming (line 51) | Problem Sets (line 153) |
This duplication serves users with different discovery paths - those seeking active competitions find them in Competitive Programming, while those seeking general practice find them in Problem Sets.
Sources: more/problem-sets-competitive-programming.md1-162
The resource collection exhibits broad geographic representation and platform technology diversity.
| Region | Platforms | Line References |
|---|---|---|
| Global/International | LeetCode, HackerRank, Codeforces | 45, 39, 27 |
| Asia-Pacific | AtCoder (Japan), beecrowd (Brazil), Dimik (Bangladesh), Newton School (India) | 17, 19, 34, 48 |
| Europe | COCI (Croatia), Kattis (Sweden), Sphere Online Judge (Poland) | 21, 43, 51, 153 |
| Africa | Zindi (Africa-focused data science) | 89 |
| Multi-regional | Many platforms serve global audiences |
Platforms span multiple technology categories:
Sources: more/problem-sets-competitive-programming.md1-162
The resource serves multiple user personas with different objectives:
Title: User Journey to Problem Sets Resource
| User Persona | Recommended Starting Category | Platform Suggestions |
|---|---|---|
| Programming Beginner | Problem Sets | Practice Python, Coding Bat, Codecombat |
| Interview Candidate | Problem Sets / Ladders | LeetCode, Grind 75, NeetCode 150, Striver's sheets |
| Competitive Programmer | Competitive Programming | Codeforces, AtCoder, USACO.guide |
| Security Learner | Capture the Flag | CTFlearn, TryHackMe, Overthewire |
| Data Science Aspirant | Data Science | Kaggle, Deep-ML, CodaLab |
| Frontend Developer | HTML and CSS / Problem Sets | Frontend Mentor, 100 Days CSS Challenge |
Sources: more/problem-sets-competitive-programming.md1-162
As a curated list, more/problem-sets-competitive-programming.md evolves through community contributions adding new platforms and removing defunct ones.
The file's importance score of 67.14 (with repository context noting 98.77) indicates moderate to high contribution frequency relative to other supplementary resources in the more/ directory. This suggests:
Long-term maintenance challenges include:
| Challenge | Impact | Mitigation |
|---|---|---|
| Platform shutdowns | Broken links | Regular URL validation via check-urls workflow |
| Category bloat | Navigation difficulty | Subcategory consideration if sections exceed 50+ items |
| Duplicate resources | Confusion | Cross-category consistency checks |
| Outdated metadata | Misinformation | Community reporting and verification |
Sources: more/problem-sets-competitive-programming.md1-162
The problem sets and competitive programming resource at more/problem-sets-competitive-programming.md serves as a comprehensive directory of 130+ external platforms organized into six categories. It functions as a discovery layer connecting users to problem-solving environments across multiple domains: algorithmic competitions, security challenges, data science contests, and interview preparation.
The file's structure—categorical organization with alphabetical ordering—enables both human browsing and automated validation. Its integration with repository automation (URL checking, format linting) ensures link integrity and consistent formatting. The resource complements theoretical content in books #3 and instructional content in courses #2 by providing practical application venues where users can test and develop their programming skills.
Refresh this wiki