-
-
Notifications
You must be signed in to change notification settings - Fork 401
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
Elixir track difficulty curve of early exercises. #190
Comments
I think we always end up with things in the wrong places for a number of reasons. First, it's never quite clear when we're making new exercises how difficult they actually will be compared to others. Second, we're always implementing exercises spread out across time, so we don't always remember everything about the existing exercises when we add new ones. Third, sometimes it just takes time and feedback to really understand which exercises are harder when you're new to the language (some exercises aren't conceptually difficult, but might introduce several new language features at once). This is how it was tackled in the Rust track: exercism/rust#127 |
I also noted the discrepancy here. |
Ok, I've gone through and done a brief analysis of all the exercises in the track so far and made notes about them. Here's that initial analysis:
There are definitely some easier ones that should be moved forward, and I'll do that in a coming PR. The other question I wanted to raise is one of grouping. It seems like there are several recurring "types" of exercises. For example, the "algorithms" ones (like binary-search, pascals-triangle, pythagorean-triplet, etc.) that rely on knowledge of algorithms, and then there are many that are basically "encoing/decoding" (like rail-fence-cypher, luhn, rna-transcription). I wonder if we should attempt to group these together, or try and keep them separated so there aren't too many of the same type of exercise in a row. I can see a benefit to both, but I figured I'd toss it out to see if anyone had any other ideas (or if there is an exercism-wide idea bout this). |
This is fantastic, @devonestes!
I lean towards keeping them separated to avoid the type of fatigue that comes with doing the same type of thing over and over. |
Ok, cool. I'll put together a PR for my proposal for the re-ordering of exercises later on today and try and keep the similar ones spaced out. This should be a fun puzzle! |
This should be solved now with #211 - or at least hopefully it's better! |
I'm currently making my way through the elixir track slowly, but some of the exercises (so far, as a newcomer) seem to occur later or earlier than I would expect.
A couple of examples:
Exercise 5: The list-ops exercise, using core language features to re-implement reduce, append, filter, count, concat, and map occurs before:
Exercise 12: Accumulate (
Given a list and a function, apply the function to each list item and replace it with the function's return value.
)Exercise 10: Nucleotide-count (Counting occurrences of a character in a character list, raising exceptions based on invalid arguments, creating histogram of preset characters), occurs before
Exercise 11: rna-transcription (simple letter substitution).
I didn't see any open (or closed) issues about this, so thought I'd throw this out there for discussion. Thanks!
The text was updated successfully, but these errors were encountered: