Feature: DSA study-plan scheduler
Users have practice sheets (e.g. Striver SDE) but no way to turn them into a "prep in N days" plan. A balanced, difficulty-aware schedule would let them spread problems across days without overloading any single day.
Proposal
Add POST /api/question/study-plan backed by a pure buildStudyPlan(problems, days):
- Weights problems by difficulty (easy=1, medium=2, hard=3; unknown→medium) and distributes them across
days buckets using difficulty-weighted LPT (longest-processing-time) scheduling so day loads stay balanced.
- Returns
{ plan: [{ day, problems, load }], totalLoad, days }.
Pure, deterministic, no new dependency — fully unit-testable with plain objects.
Acceptance criteria
I'd like to work on this.
Contributing as part of Elite Coders Summer of Code (ECSoC 2026).
Feature: DSA study-plan scheduler
Users have practice sheets (e.g. Striver SDE) but no way to turn them into a "prep in N days" plan. A balanced, difficulty-aware schedule would let them spread problems across days without overloading any single day.
Proposal
Add
POST /api/question/study-planbacked by a purebuildStudyPlan(problems, days):daysbuckets using difficulty-weighted LPT (longest-processing-time) scheduling so day loads stay balanced.{ plan: [{ day, problems, load }], totalLoad, days }.Pure, deterministic, no new dependency — fully unit-testable with plain objects.
Acceptance criteria
I'd like to work on this.
Contributing as part of Elite Coders Summer of Code (ECSoC 2026).