-
Notifications
You must be signed in to change notification settings - Fork 544
The Rust Track Anatomy #809
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
Comments
This pull pequest is part of the Track Anatomy Project. For more on the background there, please see issue #809 opened by @kytrinyx. This is part of "Round 2", where we're looking at the start of the track and 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 second ("Gigasecond") and third exercise ("Bracket Push") is significant. The choice for "Bob" here is entirely pragmatic: it's already implemented as a side exercise, so we have it available, and it's easier than "Bracket Push". This is still a work in progress and not the final track :)
…ct, the mentoring queue looks much more manageable. However, there's still an overwhelming number of students waiting for mentoring, and waiting times can be long. There are 3 bottlenecks in the current progression: Bracket Push, Saddle Points, and Pythagorean Triplet. Together they are responsible for 250 students being blocked. As a mentor, I feel overwhelmed by this amount, and we suspect that the amount scares away other (potential) mentors as well. To solve this we decided to take an extreme measure: turn the 3 bottleneck exercises into side exercises. The only goal is to get the mentor queue in good shape. It doesn't say anything about if any of these exercises should or should not be a core exercise. Any of them will be evaluated in other stages of the Track Anatomy Project. Depending on those outcomes and the number of mentors available, we can bring them back as core. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened issue #809](#809).
…let to side exercises. After the recent pull requests for Round 2 of the Track Anatomy Project, the mentoring queue looks much more manageable. However, there's still an overwhelming number of students waiting for mentoring, and waiting times can be long. There are 3 bottlenecks in the current progression: Bracket Push, Saddle Points, and Pythagorean Triplet. Together they are responsible for 250 students being blocked. As a mentor, I feel overwhelmed by this amount, and we suspect that the amount scares away other (potential) mentors as well. To solve this we decided to take an extreme measure: turn the 3 bottleneck exercises into side exercises. The only goal is to get the mentor queue in good shape. It doesn't say anything about if any of these exercises should or should not be a core exercise. Any of them will be evaluated in other stages of the Track Anatomy Project. Depending on those outcomes and the number of mentors available, we can bring them back as core. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened issue #809](#809).
…let to side exercises. After the recent pull requests for Round 2 of the Track Anatomy Project, the mentoring queue looks much more manageable. However, there's still an overwhelming number of students waiting for mentoring, and waiting times can be long. There are 3 bottlenecks in the current progression: Bracket Push, Saddle Points, and Pythagorean Triplet. Together they are responsible for 250 students being blocked. As a mentor, I feel overwhelmed by this amount, and we suspect that the amount scares away other (potential) mentors as well. To solve this we decided to take an extreme measure: turn the 3 bottleneck exercises into side exercises. The only goal is to get the mentor queue in good shape. It doesn't say anything about if any of these exercises should or should not be a core exercise. Any of them will be evaluated in other stages of the Track Anatomy Project. Depending on those outcomes and the number of mentors available, we can bring them back as core. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened [issue #809](#809).
…cism.io/blog/track-anatomy-project). For more on the background there, please see [issue #809](#809) opened by @kytrinyx. This remedies [issue #4779](exercism/exercism#4779) and logically places the two side exercise, 'Luhn From' and 'Luhn Trait', to be unlocked by the core exercise, 'Luhn'. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened [issue #809](#809).
This pull pequest is part of the [Track Anatomy Project](https://exercism.io/blog/track-anatomy-project). For more on the background there, please see [issue #809](#809) opened by @kytrinyx. This remedies [issue #4779](exercism/exercism#4779) and logically places the two side exercise, 'Luhn From' and 'Luhn Trait', to be unlocked by the core exercise, 'Luhn'. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened [issue #809](#809).
This pull request is part of the [Track Anatomy Project](https://exercism.io/blog/track-anatomy-project). For more on the background there, please see [issue #809](#809) opened by @kytrinyx. This remedies [issue #4779](exercism/exercism#4779) and logically places the two side exercise, 'Luhn From' and 'Luhn Trait', to be unlocked by the core exercise, 'Luhn'. Your feedback on the technical aspects of this pull request are very welcome here. For questions or discussions about the track anatomy project we have opened [issue #809](#809).
As a current student I really like the changes you guys are making but with no notification of when the track changes it it very confusing for students. (As you've noted) So far my experience starting from about 2 weeks ago has been something like:
I realize my experience is mostly just bad timing but it's been frustrating. It would be really great if students got notified when the track changes or if there was an easily visible changelog of the track with the last update date on https://exercism.io/my/tracks/rust. |
The track anatomy project has been superseded by v3. |
As you may have noticed, the Track Anatomy Project has arrived for Rust! This (somewhat belated) issue covers what that means for this track and what maintainers can expect to see throughout the process.
Background
Rationale
Our research has shown that having a suboptimal track structure causes frustration for students and a significantly worse experience for mentors. The primary cause of this is that historically Exercism exercises were not implemented with any particular purpose in mind. Both exercise choice and sequencing were mostly incidental. In the past couple of years, we've come to understand that the principal purpose of Exercism is to optimize for achieving fluency. Reworking the tracks with this focus improves the experience for both students and mentors.
The project
We have spun up a project to tackle these problems. We've named the project the Track Anatomy Project, and you can read more about the background in the introductory blog post.
The goals of the Track Anatomy Project are:
The tool
To reach these goals, we've developed a tool to help maintainers work through the restructuring step by step. The working title of the tool is The Track Anatomy Tool.
The task of restructuring a track is significant. To make this restructuring achievable, we've split the process into several phases, where each stage addresses one specific aspect of the restructuring. Together, the phases work from coarse-grained to fine-grained, and from the beginning of the track to the most advanced exercises. The end result will be a restructured track, with a list of improvements that need to be made, as well as a set of guidelines for the track to make it easier to make decisions about suggested improvements in the future. The methodology is the same for all tracks. The outcome is different for each language.
We have tested the tool on the Ruby and C# tracks, and in both cases, it resulted in dramatic improvement for both students and mentors.
What this means for Rust
We have invited the first pool of maintainers to work with the Track Anatomy Tool and apply it to their language. This track is one of those chosen, and @TheDarkula has volunteered to do the work.
Many small PRs
The restructuring process results in a lot of small PRs.
We encourage this project to be run like a series of refactorings: small and regular changes, where we address the simplest problems first, without striving for perfection. After each change is merged, we monitor the results and tweak based on our findings. Then we make the next small change.
We focus on the core progression first, either leaving the side exercises alone or taking pragmatic actions to redivide them. The side exercises will be addressed in more depth later on.
The process gradually builds up a big picture that will not be discernible in any single pull request. This big picture is never clear at the start of the restructuring; it gradually develops as the maintainers work through each phase of the process.
This means that unlike most earlier work on Exercism language tracks, individual pull requests will be more difficult to discuss as one-offs, as they tie into a large, complex, and often unclear picture. We understand that this can be a bit disconcerting for maintainers who are not deeply involved in every step of the Track Anatomy Project for this track but ask for your trust in the process.
Mildly confusing for students
The changes will lead to some confusion for active students, due to changes in the order or the state (core/side) of exercises. We have decided that the advantages of the small changes outweigh the confusion they may cause.
How can you help and contribute?
Most changes in the upcoming weeks are first and foremost pragmatic choices, based on what the tool is asking. None of the changes are final, and none of them pretend to be the perfect solution to all that matters in the track.
To help this process along, we ask that you give the person working through the tool room to experiment. In PRs, help find technical and mechanical problems and clerical errors rather than questioning the underlying reason for the change.
Keep an eye on issues with the label Track Anatomy. You can contribute by implementing new exercises, or researching how such an exercise can be solved in Rust. Since the main focus of the tool is on the core exercises, it would also be valuable to help address issues in the side exercises that happen as a side effect of restructuring.
Most importantly, you can help by mentoring, improving mentor notes, and providing feedback on your mentoring experience as a result of the implemented changes. Let us know if mentoring got easier or harder, more fun or less, and share your observations about the result of a change, either in issues here or in the Slack track channel.
Final thoughts
We are fully aware that the tool is a black box, and the inner workings can seem mysterious. We're not being secretive, it's just a matter of (a) mental bandwidth and resources and (b) things are changing so rapidly that documenting them is very hard.
Our primary focus is to facilitate the folks who are working through the process on the track, and we ask for your patience in the process.
We're confident this will lead to the best outcome for the Rust track! If you have any questions, please ask them here :)
The text was updated successfully, but these errors were encountered: