Repository navigation
Thoughts on exercise difficulties #72
Copy link
Copy link
Closed
Labels
x:action/improveImprove existing functionality/contentImprove existing functionality/contentx:knowledge/elementaryLittle Exercism knowledge requiredLittle Exercism knowledge requiredx:module/practice-exerciseWork on Practice ExercisesWork on Practice Exercisesx:type/contentWork on content (e.g. exercises, concepts)Work on content (e.g. exercises, concepts)
Description
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 | +----+-----------------------+------------+-----------+
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
x:action/improveImprove existing functionality/contentImprove existing functionality/contentx:knowledge/elementaryLittle Exercism knowledge requiredLittle Exercism knowledge requiredx:module/practice-exerciseWork on Practice ExercisesWork on Practice Exercisesx:type/contentWork on content (e.g. exercises, concepts)Work on content (e.g. exercises, concepts)
Activity
BNAndras commentedon Oct 8, 2026
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.
glennj commentedon Oct 8, 2026
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.