Knowledge Base

Documentation

Understand CrackCode's philosophy, technical features, and platform setup.

Docs Navigation

Spaced Repetition (SM-2)

Mastering the physics of memory using algorithmic review cues.


Spaced repetition leverages the spacing effect to improve memory retention. CrackCode implements the SuperMemo-2 (SM-2) algorithm to schedule problem reviews at the exact moment of maximum cognitive decay.

The Mathematical Mechanics of SM-2

For every problem solved, the system calculates your next review interval ($I$) and Ease Factor ($EF$) based on your feedback quality score ($q$) from 0 to 5:

  • 5: Perfect response (solved without hesitation).
  • 4: Correct response after brief recall delay.
  • 3: Correct response with significant effort / minor bug fix.
  • 2: Incorrect response, but re-reading solution made it clear.
  • 1: Incorrect response; code logic was completely forgotten.
  • 0: Total blackout; code logic is completely foreign.

Interval and Ease Factor Formulas

The values are updated according to the following formulas:

// 1. Ease Factor update (default EF starts at 2.5)

EF' = EF + (0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))

EF' = Math.max(EF', 1.3) // Lower bound guard


// 2. Interval calculation (days to next review)

if n = 1: I = 1

if n = 2: I = 6

if n > 2: I = Math.round(I(n-1) * EF)

If $q < 3$, the repetition cycle count ($n$) resets to $0$ and the interval ($I$) is reset to $1$ day, returning the problem to your active daily queue immediately.

Structuring Daily Reviews

Commit to clearing your review queue before starting new problems:

  1. Open your Spaced Repetition page.
  2. Re-solve the scheduled challenges without looking at your past submissions.
  3. Evaluate your quality score honestly. If you struggled, rate it $3$ or lower so you can re-verify your logic soon.