-
-
Notifications
You must be signed in to change notification settings - Fork 27
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:
- Changing the
coreexercises (to include some of the currentbonusexercises, or some of the new exercises). - Turning the remaining
bonusexercises into side exercises. - Tweaking the exercise order.
- Tweaking the difficulty ratings.
- Changing
config.jsonto follow this proposed ordering, which may become part ofconfigletin the future. This should help reduce diff noise when reordering exercises later. - Changing the
topicsbe 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:
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]