Skip to content

Re-order core exercises #740

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 16, 2019
Merged

Re-order core exercises #740

merged 3 commits into from
Jan 16, 2019

Conversation

ErikSchierboom
Copy link
Member

@ErikSchierboom ErikSchierboom commented Jan 12, 2019

This PR is the result of work being done to structure the exercises in a track according to a predefined methodology (this work is not finished). As a result of that work, the core exercises have been reordered a bit. The new ordering is as follows:

core
----
├─ hello-world
│  ├─ hamming
│  ├─ pangram
│  └─ robot-name
│
├─ two-fer
│  ├─ isogram
│  └─ acronym
│
├─ leap
│  ├─ grains
│  └─ perfect-numbers
│
├─ gigasecond
│  ├─ collatz-conjecture
│  ├─ phone-number
│  ├─ scrabble-score
│  └─ meetup
│
├─ series
│  ├─ sum-of-multiples
│  ├─ high-scores
│  ├─ accumulate
│  ├─ difference-of-squares
│  ├─ protein-translation
│  ├─ secret-handshake
│  ├─ largest-series-product
│  ├─ pythagorean-triplet
│  ├─ prime-factors
│  ├─ all-your-base
│  ├─ pascals-triangle
│  ├─ simple-cipher
│  └─ roman-numerals
│
├─ space-age
│  ├─ armstrong-numbers
│  ├─ rational-numbers
│  ├─ triangle
│  ├─ complex-numbers
│  └─ darts
│
├─ raindrops
│  ├─ strain
│  ├─ proverb
│  ├─ beer-song
│  ├─ sieve
│  └─ house
│
├─ bob
│  ├─ error-handling
│  ├─ rotational-cipher
│  ├─ twelve-days
│  ├─ anagram
│  ├─ word-count
│  ├─ isbn-verifier
│  ├─ bracket-push
│  ├─ yacht
│  └─ affine-cipher
│
├─ nucleotide-count
│  ├─ etl
│  ├─ parallel-letter-frequency
│  └─ alphametics
│
├─ allergies
│  ├─ food-chain
│  ├─ tree-building
│  ├─ crypto-square
│  ├─ ledger
│  └─ variable-length-quantity
│
├─ binary-search
│  ├─ change
│  └─ dominoes
│
├─ grade-school
│  ├─ list-ops
│  ├─ flatten-array
│  ├─ binary-search-tree
│  ├─ atbash-cipher
│  └─ sublist
│
├─ clock
│  ├─ queen-attack
│  ├─ robot-simulator
│  ├─ bank-account
│  ├─ simple-linked-list
│  ├─ linked-list
│  ├─ dot-dsl
│  └─ dnd-character
│
├─ kindergarten-garden
│  ├─ matrix
│  ├─ minesweeper
│  ├─ scale-generator
│  ├─ ocr-numbers
│  ├─ spiral-matrix
│  ├─ tournament
│  ├─ poker
│  ├─ rectangles
│  ├─ wordy
│  ├─ connect
│  ├─ say
│  └─ sgf-parsing
│
├─ saddle-points
│  ├─ palindrome-products
│  ├─ hangman
│  ├─ diamond
│  ├─ two-bucket
│  ├─ react
│  └─ go-counting
│
├─ markdown
│  ├─ grep
│  ├─ circular-buffer
│  ├─ luhn
│  ├─ run-length-encoding
│  ├─ word-search
│  ├─ bowling
│  ├─ transpose
│  ├─ zipper
│  ├─ forth
│  ├─ pov
│  └─ rest-api
│
├─ book-store
│  ├─ custom-set
│  ├─ nth-prime
│  ├─ pig-latin
│  ├─ rail-fence-cipher
│  ├─ diffie-hellman
│  └─ zebra-puzzle

bonus
-----
reverse-string
rna-transcription

The most notable changes are:

  • two-fer: moved up from position 6 to 2. This was always a wrongly ordered exercise, with its solution being far simpler than some of its preceding core exercises. It has not been moved to position 2, as it is not only simple to solve, but is also a natural extension of the preceding hello-world exercise.
  • series: has become a core exercise. Its sole goal is to introduce users to collection's in C#, which we previously did not have a good, simple exercise for.
  • gigasecond: has become a core exercise. Its goal is to introduce the DateTime type early on, as it is a very important, core data type in c#.
  • space-age: has become a core exercise. Its goal is to introduce floating point numbers relatively early.
  • sum-of-multiples: no longer a core exercise. This is due to a recently added policy to exclude "mathy" exercises as core exercise.
  • accumulate: no longer a core exercise. This is due to the fact that what it tries to teach (laziness) is a rather advanced concept that requires more advanced knowledge of the language, but the actual solution is so simple that advanced users would solve it without giving it a moment's thought.

The current ordering is not perfect, there is still lots to improve, but I feel it is definitely an improvement over the current situation. I'm interested in hearing your thoughts!

@ErikSchierboom ErikSchierboom merged commit 2a11271 into exercism:master Jan 16, 2019
@ErikSchierboom ErikSchierboom deleted the restructure-core-exercises branch January 16, 2019 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant