Skip to content

Conversation

@TheDarkula
Copy link
Contributor

In the process of reworking the Rust track through the Track Anatomy Project, this promotes the side exercise "Gigasecond" to be a core exercise after "Reverse String". This is due to it being a "Level 1" exercise, which means that it covers only basic datatypes and principles. This is still a work in progress and not the final track :)

@coriolinus
Copy link
Member

I don't understand the motivation here.

My understanding of the intended flow is that there is a graduated series of exercises of increasing difficulty. The tree of exercises should be short and broad, kind of a shrub. If I understand correctly, each core exercise should introduce some new concept.

We already have an initial exercise demoing basic datatypes and principles, so shouldn't the next core exercise require more from the student than that? If students want to keep refining and expanding their expertise with concepts they've already covered, this is exactly what the side exercises are for.

@kytrinyx
Copy link
Member

@coriolinus This is part of the Track Anatomy project. For more on the background there, please see the issue that I've just opened here: #809

This PR is part of Round 2. In this Round we're looking at the start of the track, adding exercises that bridge the gap to the harder exercises, and that are easy to mentor (ideally, mentoring on the earliest exercises will largely consist of copying, pasting, and tweaking snippets of text that address common concerns.

In this case, the gap between the first and the second exercise (Bracket Push) is significant. The choice for Gigasecond here is entirely pragmatic: it's already implemented as a side exercise, so we have it available, and it's easier than Bracket Push.

@kytrinyx
Copy link
Member

kytrinyx commented Mar 29, 2019

We already have an initial exercise demoing basic datatypes and principles, so shouldn't the next core exercise require more from the student than that? If students want to keep refining and expanding their expertise with concepts they've already covered, this is exactly what the side exercises are for.

I forgot to address this above.

One of the things that we will be looking at metrics for is whether or not there are common patterns to the errors that people make on Gigasecond, when it is promoted to a core exercise. If (mostly) everyone does the exercise perfectly the first time through, then we likely need to move it back to a side exercise. If, however, there are typically things to address during mentoring, then it most likely introduces at least one concept that was not introduced in the prior exercise, and may be a good choice to keep in the core of the track.

Copy link
Member

@kytrinyx kytrinyx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since there are no Rust-technical questions with this change, I'm going to go ahead and approve it.

@TheDarkula TheDarkula merged commit 1de1902 into master Mar 29, 2019
@petertseng
Copy link
Member

petertseng commented Mar 29, 2019

Please remember to delete branches after a PR is merged. This is necessary because this is the exercism copy of the repo, and any branches get copied to forks. It is discourteous to confuse contributors with these branches and force them to ask "what are these branches for, do I need to keep them on my fork, do I delete them, what's the deal here".

I personally choose to avoid this problem by putting all branches on my own fork instead of exercism's copy. While that is not a requirement (since those with write access have the ability to create branches on exercism's copy), if that is not taken, it becomes most important to remember to delete branches as soon as possible.

@TheDarkula TheDarkula deleted the thedarkula-reordering-gigasecond branch March 29, 2019 03:06
@petertseng
Copy link
Member

As I will mention in the next PR, there was good rationale in the PR description.

This rationale should go in the commit message as well, so that it is available from git log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants