Curriculum change: track sequence (round 1)#252
Merged
SleeplessByte merged 3 commits intoexercism:masterfrom Apr 16, 2019
SleeplessByte:chore/round-1-curriculum
Merged
Curriculum change: track sequence (round 1)#252SleeplessByte merged 3 commits intoexercism:masterfrom SleeplessByte:chore/round-1-curriculum
SleeplessByte merged 3 commits intoexercism:masterfrom
SleeplessByte:chore/round-1-curriculum
Conversation
s part of the ongoing curriculum update, this re-orders the core exercises according to perceived difficulty. Most notably, this moves simple-cipher down, move atbash in-front of cipher and shuffle the mid-levels around -- re-orders the list loosly according to this: hello-world,leap,rna-transcription,space-age,pangram,bob,matrix,robot-name,grade-school,clock,secret-handshake,binary-search,linked-list,rational-numbers,atbash-cipher,simple-cipher,wordy,list-ops ``` core ---- ├─ hello-world [1] │ ├─ two-fer [1] │ ├─ gigasecond [3] │ ├─ difference-of-squares [3] │ └─ word-count [1] │ ├─ leap [1] │ ├─ reverse-string [2] │ ├─ triangle [3] │ └─ collatz-conjecture [4] │ ├─ rna-transcription [2] │ ├─ protein-translation [2] │ ├─ nucleotide-count [4] │ ├─ allergies [6] │ ├─ raindrops [2] │ ├─ etl [2] │ ├─ hamming [3] │ └─ scrabble-score [5] │ ├─ space-age [2] │ ├─ perfect-numbers [3] │ ├─ luhn [4] │ ├─ complex-numbers [4] │ ├─ sum-of-multiples [5] │ ├─ grains [5] │ └─ pythagorean-triplet [5] │ ├─ pangram [3] │ ├─ isogram [3] │ ├─ roman-numerals [3] │ ├─ series [3] │ ├─ acronym [2] │ ├─ anagram [2] │ ├─ phone-number [5] │ ├─ largest-series-product [7] │ ├─ two-bucket [6] │ └─ variable-length-quantity [6] │ ├─ bob [3] │ ├─ twelve-days [4] │ ├─ pig-latin [4] │ ├─ isbn-verifier [4] │ ├─ proverb [4] │ ├─ house [4] │ ├─ beer-song [5] │ ├─ say [6] │ └─ food-chain [4] │ ├─ matrix [4] │ ├─ saddle-points [4] │ ├─ transpose [4] │ ├─ rectangles [4] │ ├─ spiral-matrix [4] │ └─ ocr-numbers [5] │ ├─ robot-name [4] │ ├─ grade-school [4] │ ├─ connect [7] │ ├─ bowling [8] │ └─ alphametics [7] │ ├─ clock [4] │ ├─ prime-factors [4] │ │ ├─ nth-prime [5] │ │ ├─ sieve [5] │ │ └─ palindrome-products [7] │ ├─ secret-handshake [4] │ ├─ pascals-triangle [5] │ │ └─ diamond [5] │ ├─ binary-search [5] │ └─ binary-search-tree [6] │ ├─ linked-list [5] │ ├─ sublist [5] │ ├─ custom-set [6] │ └─ circular-buffer [8] │ ├─ rational-numbers [5] │ ├─ atbash-cipher [6] │ ├─ simple-cipher [7] │ ├─ diffie-hellman [3] │ └─ crypto-square [9] │ ├─ wordy [7] │ ├─ kindergarten-garden [7] │ └─ robot-simulator [5] │ └─ list-ops [8] bonus ----- armstrong-numbers [2] run-length-encoding [2] strain [4] bracket-push [5] flatten-array [5] accumulate [5] all-your-base [5] minesweeper [7] queen-attack [8] rotational-cipher [4] ```
This orders the track config.json as follows: - core exercises, in current orders - side exercises, in order of their unlocked_by core exercise - bonus exercises - deprecated exercises If there are multiple in a group (side or bonus), they are sorted by difficulty and then by name lexographically. This way we can keep the config.json order consistent.
These side exercises were unlocked by removed core exercises. This re-assigns them to core exercises still present.
Generated by 🚫 Danger |
Contributor
|
lgtm |
Member
Author
|
@masters3d awesome. I've also asked mentors to take a look. Let's wait the weekend and have it merged if nothing weird comes up. Subsequent re-orderings, additions, removals will come later as part of round 2 and beyond! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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). This first step (of many rounds) attempts to remove Math and DIY exercises from the core track, and fix obvious problems with the sequence of the existing core exercises. The result is as follows:
You can generate a similar output running
bin/configlet tree . --with-difficulty(and make your own changes to config.json to see the effect).The most notable changes are:
simple-cipher: has moved down considerably (3 -> 18). This is a change inspired by exercism/exercism#4577, mentoring and exercism/javascript#564. It's a great exercise, but not this early on in the track. The implementation differences and lack of knowledge of the standard library also makes it so that mentors don't like mentoring this. Both in JS and TS, the time to wait is between 1 week and 2 months (!). Moving this down should resolve this! The difficulty has been increased from1 -> 7atbash-cipher: has moved to before simple-cipher (20 -> 17). It's easier thansimple-cipherto do right. In a later PR this will probably be dropped to side, orsimple-cipherwill be. The two exercises don't add to teaching TypeScript if they're both present.clock: has (sorta) traded places withlinked-list. It's far easier thanlist-ops.list-opsis actually not easy to do right (which should be acons implementation).prime-factors: no longer a core exercise. This is due to a recently added policy to exclude "mathy" exercises as core exercise.pascals-triangle: no longer a core exercise. This is due to a recently added policy to exclude "mathy" exercises as core exercise.My notes on the current core exercises are as follows and as you might be able to tell is that I'm trying to introduce a minimum number of subjects with each exercise. Bad or meh here refers to the test suite, the implementation or the exercise as a whole (in terms of teaching fluency of the language).
Here are the
diffsfor the track tree output. I separated structural changes (first one) from the consistency changes (second one).Track changes diff
Track changes + consistent order
Not all of these have mentoring notes -- that will be next up.
The current ordering is still not perfect and 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!