Practical debugging, step by step

Why did my debugging-practice rating change by 30 points?

The rating helps you read your own practice history. It changes more after an unexpectedly difficult success, but it is not a contest against another person and does not choose your next challenge.

DoesItHold Editorial · · reviewed · progression-elo-001

Direct answer

A new profile starts at 1000. The product compares your result with the result expected for that challenge difficulty, applies the K factor for your current range and a limited time bonus, then prevents the rating from falling below 100.

For example, difficulty 0.5 first becomes challenge rating 1500. Against a current rating of 1000, that produces an expected score of about 0.053. Solving in the expected 150 seconds adds no time bonus. The change is round(32 × (1 − 0.053)) = 30, so the displayed rating becomes 1030.

The calculation answers one narrow question: how surprising was this result under the product's challenge and timing rules? It does not compare two learners directly. Adaptive difficulty uses recent results and skill progress separately.

Follow the failure
  1. Startrating 1000, K = 32
  2. Challengedifficulty 0.5 implies rating 1500
  3. Resultsolved in the expected 150 seconds
  4. Update1000 becomes 1030
The update compares the solved result with an expected score, then applies the K tier and a bounded time bonus.

Minimal example

Scrollable code region

Buggy
rating = 1000 + solvedCount * 32
Corrected
challengeRating = 1000 + difficulty * 1000
expected = 1 / (1 + 10 ** ((challengeRating - rating) / 400))
rating += round(K * (result - expected + timeBonus))

What changes: Difficulty 0.5 becomes challenge rating 1500 before the expected score is calculated. Harder solved challenges can therefore move the practice rating more.

Debugging method

Start with the current rating and challenge difficulty, calculate the expected score, apply the K factor and any limited solved-time bonus, then round the final change once.

  1. Start a new profile at exactly 1000.
  2. Verify that the K factor changes at ratings 1200 and 1800.
  3. Compare a solved and unsolved result at the same difficulty.
  4. Confirm that no sequence can push the rating below 100.

Common wrong fix

Calling the number simply Elo suggests head-to-head competition. Using it to choose difficulty would also mix two signals that answer different learner questions.

Limits and edge cases

The number summarizes results inside DoesItHold's challenge and timing model. It does not measure employability, complete debugging ability or rank against a human opponent.

Sources