Skip to content

Thoughts on exercise difficulties #72

Closed

Description

@glennj

Having gone through this very fun track, some thoughts on the difficulties:

  • I found jumping in to acronym right after hello-world pretty jarring.
  • Some of the exercises solved with simple loops in other languages are "harder" in a functional language, having to deal with mutable ref's or recursion

Suggestions:

  • sort by difficulty, not bucket
  • suggested new difficulties:
    +----+-----------------------+------------+-----------+
    | n  | exercise              | difficulty | suggested |
    +----+-----------------------+------------+-----------+
    | 1  | hello-world           | 1          | same      |
    | 2  | acronym               | 2          | 3         |
    | 3  | anagram               | 2          | 4         |
    | 4  | armstrong-numbers     | 2          | 3         |
    | 5  | atbash-cipher         | 2          | 4         |
    | 6  | bob                   | 2          | 3         |
    | 7  | difference-of-squares | 2          | same      |
    | 8  | isogram               | 2          | 3         |
    | 9  | leap                  | 2          | same      |
    | 10 | matching-brackets     | 2          | 4         |
    | 11 | pangram               | 2          | 3         |
    | 12 | raindrops             | 2          | same      |
    | 13 | resistor-color        | 2          | same      |
    | 14 | resistor-color-duo    | 2          | same      |
    | 15 | resistor-color-trio   | 3          | same      |
    | 16 | rna-transcription     | 2          | same      |
    | 17 | roman-numerals        | 2          | 4         |
    | 18 | rotational-cipher     | 2          | 3         |
    | 19 | space-age             | 2          | 3         |
    | 20 | strain                | 2          | 2         |
    | 21 | two-fer               | 2          | same      |
    | 22 | all-your-base         | 4          | same      |
    | 23 | allergies             | 4          | same      |
    | 24 | binary-search         | 4          | same      |
    | 25 | binary-search-tree    | 5          | same      |
    | 26 | change                | 5          | same      |
    | 27 | eliuds-eggs           | 4          | 3         |
    | 28 | flower-field          | 5          | same      |
    | 29 | phone-number          | 4          | same      |
    | 30 | prism                 | 4          | 6         |
    | 31 | protein-translation   | 4          | same      |
    | 32 | run-length-encoding   | 5          | same      |
    | 33 | word-count            | 4          | same      |
    +----+-----------------------+------------+-----------+
    

Activity

  1. BNAndras commented on Oct 8, 2026

    @BNAndras
    Member

    Yeah, I'm conflicted here. Sorting by difficulty, not bucket feels very wrong to me. All a student sees is easy, medium, and hard. They get the same reputation for solving an exercise with a difficulty of 2 or 3. Sorting the exercises by bucket therefore makes sense since you can see all the easy, medium, and hard exercises in one place. Doing it alphabetically with a bucket makes sense too so it's easier to scan. You lose some of that when the exercises are sorted by invisible criteria not seen by a student.

    On the other hand, despite us claiming often that Exercism doesn't endorse a particular order in solving the exercises, plenty of students do go one by one through the exercises. So acronym being first would be jarring and not a good experience. We have to meet the students where they are so yeah, go ahead and PR these changes. We'll need to update the sort order CI as well.

  2. glennj commented on Oct 8, 2026

    @glennj
    ContributorAuthor

    I will add a PR.

    For the point "us claiming often that Exercism doesn't endorse a particular order", the site essentially does do just that: on the track "Practice" tab, the next available exercise is marked as "Recommended".

    To me, that's a strong incentive to order the exercise in a particular sequence. For most tracks, hello-world -> leap -> two-fer are the first 3 exercises to give to the students (the intro exercise, an arithmetic+conditionals one, and a string+function-params one). I'll either use difficulty 1 for each of those (thankfully those 3 sort lexically in the wanted order), or difficulty 1,2,2 and all the other easy ones get difficulty 3.

  3. self-assigned this
    on Oct 8, 2026
  4. linked a pull request that will close this issueUpdate exercise difficulties #73on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions