Is there any particular meaning to the order of Available exercises?
Kinda.
If I recall correctly, the order of the exercises was kept roughly from V2 and if I’m not mistaken it was not revised since. Meanwhile, some exercises were added at the end, so it’s a bit of a mess right now.
Rethinking the order of the exercises is something I’ve been wanting to do for some time now. While I think the current order is not totally off, I believe we can do better.
Does Exercism support ordering exercises? Aside from prerequisites, I thought they were sorted by difficulty or something.
Pretty sure they are displayed in the same order as config.json
They appear in the same order as they’re listed in config.json
- which makes them difficult to re-order very often, unless it’s a straightforward thing like sorting by a key.
Python’s got them sorted by difficulty now, but we used to sort by what concept exercise it was attached to (“practices”) and then by difficulty within that.
A script to sort exercises by difficulty?
filter='.exercises.practice = (.exercises.practice |sort_by(.difficulty))'
jq "${filter}" config.json > config.sorted && mv config.sorted config.json
(For more jq
tricks and tips, join Glenn’s jq
track )
This is interesting. I was thinking of sorting them roughly by difficulty as a temporary measure while we don’t take full advantage of linking concepts to practice exercises. But it seems you still decided to sort them by difficulty despite having them linked to concept exercises. What was the reason for that?
OK, hold on now. “… join Exercism’s jq
track”
(My humility is unmatched )
We had complaints about exercises being “out of order”, “too difficult for progression”, or “not making sense”.
It took me a while to realize that there were many students who were going through the square grid on the track home page expecting all the exercises to be ordered by progressing difficulty, and were getting confused when they encountered different levels of practice exercise coming in order after a given learning exercise - even though learning exercises do have that icon.
There were also students who wanted to skip the learning exercises altogether, and found it frustrating that they were spread out over the grid.
So ordering all the practice exercises by difficulty felt like the best compromise at the time – all the learning exercises appear together at the top of the grid (so can be skipped as a group), the practice exercises are in order of difficulty, and those who want to follow a practice exercise grouping strategy can use the syllabus tree, where the related practice exercises for each learning exercise are also in order of difficulty.
We still get complaints/confusion around certain practice exercises for a given concept exercise being too hard for a student early in the track, but the only way to solve that particular issue is to add more targeted practice exercises, which is a WIP.
Changed the order of the exercises to order them by difficulty (thanks @IsaacG for the script).
Also tweaked the difficulty of some exercises, hopefully making the ratings more consistent.
Let me know what you think of the new ordering, if it makes more sense and if there’s any further changes we should do.