problem-specifications
problem-specifications copied to clipboard
Should we be logically grouping exercises?
Would it be helpful at the problem-specification level to logically group exercises? I am thinking this may be valuable in auto-configuring some tracks or at least providing some meta-organization.
Some exercises are closely linked thematically. Some are very mathematical in nature, some are "here is a string, find stuff in it", but there is a good amount of thematic overlap in a lot of exercises.
While prepping for the new config file structure for nextercism in the Go track we spent some time trying to formalize these relationships. It was recently brought up that perhaps there is a place for some of this globally.
To me the most obvious are *gram. anagram, isogram, pangram, acronym: the string finders. This seems to be the kind of exercise where one is important in core but others (being so similar) are better off as unlocks off of the primary exercise. Would identifying these as possible thematic suggestions be helpful for tracks still looking to make their nextercism configurations?
This is a very good question! I think we should
It may not only help in resolving a dilemma of core exercises, but it also can potentially improve topics for exercises or at least give some ideas about them
One of the things that is good about the problem-specifications repository is that is a collection of independent language agnostic problems, that can be implemented or not by tracks. I am wary of binding them together here in ways that might make sense from some perspectives but not from others.
I'm of the same opinion as @Insti: logically grouping exercise seems like it would only lead to lots of discussion, with the added value not immediately clear to me. The main issue is that different tracks will use exercises for different purposes. The issue mentions that the most obvious exercises are the *gram exercises, being referred to as string finder exercise. However, this is not necessarily the case. One track could decide that pangram is about sets (uniqueness), whereas another would maybe use it for string iteration. This is especially true for exercism v3 (the current version), where exercises implemented from the exercises in this repo are known as Practice Exercises. As their name implies, they are meant to practice concepts, but those can differ quite a bit between tracks.
For the above reasons, I'm in favor of closing this issue. If anyone objects, we can discuss whether to keep it open.