Skip to content

Non linear learning curve #564

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

Closed
jonakirke94 opened this issue Nov 19, 2018 · 5 comments
Closed

Non linear learning curve #564

jonakirke94 opened this issue Nov 19, 2018 · 5 comments
Assignees

Comments

@jonakirke94
Copy link

I've done the first 7 exercises of the track and I've experienced the difficulty varies a lot.

I spent 3 hours on "Simple Cipher" but only 5 minutes on "Gigasecond". I'd like to propose "Simple Cipher" to be moved further down the track and "Gigasecond" to the 3rd exercise in the track.

@matthewmorgan
Copy link
Contributor

@jonakirke94 do you think the difference is because of

  1. the language -- required features of the language were difficult to understand or use
  2. the core problem -- that is, simple-cipher is a harder problem conceptually
  3. the implementation -- somehow the test suite made an otherwise easy problem hard to solve

We appreciate you taking the time to give us your thoughts on this.

@jonakirke94
Copy link
Author

I think it's a combination of 2 & 3.

I think the exercise was conceptually harder than the nearby tracks and if I had to compare it to the exercises on the sidetrack in terms of difficulty I would rate it medium, which I think is a little too hard for the third exercise in the track.

The steps are intended to make it easier to comprehend and gradually increment your code, but the tests are not coming in the same order - for example you don't need the random key before Step 3 but it's the first test in the test suite which I think adds to the confusion

@serixscorpio
Copy link
Contributor

After having started mentoring the simple cipher exercise in javascript track, I tend to agree the core problem is harder comparing to nearby exercises. This exercise touches upon multiple concepts (from @SleeplessByte's mentor notes):

  • DRYing up an implementation
  • Maintainability (magic numbers, variable naming)
  • Strings as characters and "charCode"
  • Modulo arithmetic

This exercise is also a 'longer' exercise that involves more steps comparing to nearby exercises. A rough sequence would be:

  1. Key generation
  2. Key validation
  3. Transform (encode/decode) single characters
  4. Transform (encode/decode) multiple characters

Anecdote: the simple cipher exercise is queued up (i.e. awaiting mentoring) more often than other exercises nearby, probably due to more to discuss and more iterations.

@SleeplessByte
Copy link
Member

SleeplessByte commented Nov 28, 2018 via email

@SleeplessByte
Copy link
Member

This should be fixed per #590 and further changes coming up.

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

No branches or pull requests

4 participants