Update the track structure
- Dominant language
- Nim
- Stars
- 60
- Forks
- 27
- Avg merge
- 10d 12h
- Merged PRs (30d)
- 1
Description
For simplicity, new exercises are being implemented as `bonus` exercises, meaning that `unlocked_by` is set to `null` in `config.json`.
Therefore after the new exercises are merged, we should probably consider:
1. Changing the `core` exercises (to include some of the current `bonus` exercises, or some of the new exercises).
2. Turning the remaining `bonus` exercises into side exercises.
3. Tweaking the exercise order.
4. Tweaking the difficulty ratings.
5. Changing `config.json` to follow [this proposed ordering](https://github.com/exercism/configlet/issues/152#issuecomment-449981969), which may become part of `configlet` in the future. This should help reduce diff noise when reordering exercises later.
6. Changing the `topics` be more useful and specific to Nim.
I don't currently have strong opinions on the track structure, but other tracks have put significant thought into it. We should consider (or steal) their ideas, at least as a starting point. I'll write some suggestions later. Let me know if you have any thoughts.
Some recent work by other tracks:
- [Python](https://github.com/exercism/python/pull/1633) (which copied Ruby)
- [C#](https://github.com/exercism/csharp/pull/744)
Regarding difficulty: most of our currently implemented exercises are relatively easy. Some tracks use a restricted set of ratings (such as: `1`, `4`, `7` and `10`). If we do this, I think nearly all our our current exercises should be difficulty `1` so that we can have a clear difference later between `easy` and `medium` difficulty.
It's also easier to implement good solutions in Nim than in many languages.
### Current Nim track structure
`configlet tree config.json --with-difficulty`
```
core
----
├─ hello-world [1]
│ ├─ pangram [1]
│ └─ hamming [1]
│
├─ two-fer [1]
│ ├─ isogram [1]
│ └─ acronym [1]
│
├─ leap [1]
│ ├─ difference-of-squares [1]
│ └─ triangle [1]
│
├─ bob [1]
│ ├─ word-count [3]
│ ├─ anagram [1]
│ └─ bracket-push [1]
│
├─ allergies [1]
│
├─ sum-of-multiples [1]
│ ├─ armstrong-numbers [1]
│ ├─ grains [2]
│ ├─ collatz-conjecture [1]
│ └─ scrabble-score [1]
│
├─ grade-school [1]
│ └─ atbash-cipher [1]
bonus
-----
reverse-string [1]
rna-transcription [1]
gigasecond [1]
run-length-encoding [1]
roman-numerals [1]
space-age [1]
nth-prime [1]
queen-attack [1]
all-your-base [1]
nucleotide-count [1]
raindrops [1]
react [8]
darts [1]
secret-handshake [1]
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.