(draft spec)
Experience is Exercism's way of representing a student's progression as they use Exercism.
Experience is acquired for things personal to the student as they learn, for example, completing exercises successfully.
There are various ways of acquiring experience.
Experience is acquired by successfully completing Concept and Practice Exercises.
All exercises award points, but different exercises may award different amounts of points, depending on:
- Whether the exercise is Concept or Practice
- The difficulty of the exercise
- Whether the same exercise has been completed in an alternative language (i.e., you get more points the first time you complete
Bob
than the 5th time) - The position of the exercise in the track.
An algorithm considering these factors is yet to be decided.
At certain points during the track, extra experience will be awarded:
- Completing a Concept exercise in a track
- Completing 10 Concept exercises in a track
- Completing a Practice exercise in a track
- Completing 10 Practice exercises in a track
- Completing all the Concept Exercises in a track
- Completing all the Practice Exercises in a track
- Completing 50 exercises across Exercism
- Completing 100 exercises across Exercism
Much like any modern role-playing game, experience points are accrued and represented as a level. Levels go from 1-99, progressively getting hard to achieve.
Levels are also grouped into labels. For example:
- 1 - 9 : Newbie
- 10 - 19 : Explorer
- 20 - 39 : Adventurer
- 40 - 59 : Pathfinder
- 60 - 79 : Reaver
- 80 - 89 : Overseer
- 90 - 98 : Mystic
- 99 : Apex
- Allocation of experience points based on how well you did on the exercise, such as how idiomatic the solution was, or other, more quantifiable and valuable indicators. We could explore looking at awarding those who may have submitted an initial messy iteration, and really took the time to evolve their solution into something better. Another idea would be to award more experience points to those who successfully complete analyzer feedback.