exercism / go

Exercism exercises in Go.
https://exercism.org/tracks/go
MIT License
984 stars 651 forks source link

Exercise order? #1082

Closed bjmaynard01 closed 6 years ago

bjmaynard01 commented 6 years ago

Looking through the Go exercises, I noticed that Hello World is number 4 on the list. Is there a reason why it would be after what I would consider to be much more difficult exercises?

tleen commented 6 years ago

It is in preparation (#825) for the next version of Exercism. The tracks will no longer be linear but look more like a tree. Completing certain exercises will open up other ones for completion. You won't have to do all the exercises in order any more. So the JSON ordering does not really matter much only for the core exercises core == true && unlocked_by == null. Any exercise with core == false && unlocked_by == null is a bonus exercise which is available at the start so users have options. In our case that would be those first three exercises before hello-world. It can be complicated to look at, so there are handy visualizers! Here is what it looks like currently (with the exercise difficulty):

Go
==

core
----
├─ hello-world [1]
│  └─ space-age [2]
│
├─ two-fer [1]
│  ├─ leap [1]
│  │  └─ triangle [3]
│  └─ proverb [4]
│
├─ hamming [1]
│  ├─ rna-transcription [2]
│  ├─ nucleotide-count [2]
│  └─ grep [4]
│
├─ raindrops [1]
│  ├─ accumulate [1]
│  │  └─ strain [2]
│  └─ roman-numerals [2]
│
├─ scrabble-score [1]
│  ├─ etl [1]
│  └─ protein-translation [3]
│
├─ isogram [2]
│  ├─ reverse-string [2]
│  ├─ pangram [2]
│  ├─ anagram [3]
│  ├─ word-count [3]
│  └─ run-length-encoding [4]
│
├─ difference-of-squares [2]
│  ├─ sum-of-multiples [5]
│  ├─ pythagorean-triplet [5]
│  ├─ largest-series-product [3]
│  ├─ nth-prime [3]
│  └─ isbn-verifier [2]
│
├─ luhn [2]
│  ├─ crypto-square [3]
│  ├─ atbash-cipher [3]
│  ├─ diffie-hellman [5]
│  ├─ simple-cipher [3]
│  └─ rotational-cipher [2]
│
├─ grains [2]
│  ├─ secret-handshake [5]
│  ├─ sieve [3]
│  ├─ perfect-numbers [4]
│  ├─ allergies [4]
│  ├─ all-your-base [3]
│  └─ variable-length-quantity [5]
│
├─ clock [3]
│  ├─ phone-number [3]
│  │  └─ pig-latin [4]
│  ├─ prime-factors [3]
│  │  └─ armstrong-numbers [3]
│  └─ meetup [3]
│
├─ parallel-letter-frequency [3]
│  └─ series [3]
│
├─ tree-building [3]
│  ├─ bracket-push [7]
│  ├─ binary-search [5]
│  │  ├─ binary-search-tree [5]
│  │  └─ two-bucket [5]
│  ├─ pov [7]
│  ├─ ledger [4]
│  │  └─ rail-fence-cipher [4]
│
├─ robot-name [3]
│  ├─ palindrome-products [6]
│  ├─ say [7]
│  └─ wordy [3]
│
├─ tournament [3]
│  ├─ pascals-triangle [4]
│  ├─ diamond [4]
│  ├─ ocr-numbers [7]
│  ├─ kindergarten-garden [3]
│  ├─ poker [5]
│  │  └─ bowling [5]
│  └─ rectangles [4]
│
├─ twelve-days [4]
│  ├─ house [4]
│  ├─ food-chain [4]
│  └─ beer-song [3]
│
├─ matrix [4]
│  ├─ sublist [3]
│  ├─ queen-attack [5]
│  ├─ transpose [5]
│  ├─ saddle-points [5]
│  ├─ minesweeper [5]
│  │  └─ connect [9]
│  ├─ word-search [4]
│  └─ spiral-matrix [4]
│
├─ error-handling [5]
│  ├─ flatten-array [3]
│  │  ├─ book-store [8]
│  │  ├─ dominoes [4]
│  │  └─ alphametics [5]
│  ├─ circular-buffer [5]
│  ├─ custom-set [4]
│  └─ simple-linked-list [4]
│
├─ bank-account [4]
│  ├─ paasio [5]
│  ├─ react [9]
│  ├─ grade-school [5]
│  ├─ robot-simulator [6]
│  ├─ forth [8]
│  ├─ change [5]
│  └─ zebra-puzzle [6]

bonus
-----
gigasecond [1]
bob [2]
acronym [3]
collatz-conjecture [1]

You know for completeness sake collatz-conjecture should probably be up there too. @bjmaynard01 is that something you may be interested in opening a PR for?

bjmaynard01 commented 6 years ago

Thank you, this explains it. I wish I had the skill set necessary to assist, I'm only just getting started with exercism, let alone Go. Appreciate the in-depth response though.

tleen commented 6 years ago

The modifications of that file are in JSON so you may be able to give it a try. Everyone starts somewhere :smile:! If you do want to reorder you can do it via a PR and reference this, i'll close it for now.

hilary commented 6 years ago

Closing this issue per @tleen 's comment