Comments (5)
If you're interested, I finally got around to finishing the exercise today. I know a lot more about Rust now but that was brutal! My solution
from rust.
I don't have experience with Rust, but I did want to say that we've seen this in other language tracks, and have later moved exercises that we found to be simpler into earlier positions in the track.
I would be very interested in seeing individual exercises to address the concepts that you mention if none of the existing ones are focused enough. They probably aren't to be honest, since we just kind of make up random puzzles and problems to solve and hope that they have interesting concepts in them. Sometimes they do, sometimes they don't. Sometimes they do in some languages but not others.
I think we might have several exercises that are simpler than Anagram.
Some possible candidates (you can say exercism fetch rust $EXERCISE
if you want to fetch individual exercises)
- word-count
- hamming
- nucleotide-count
- raindrops
- etl
- scrabble-score
from rust.
If I understand the UI correctly (and correct me if I'm wrong, @kytrinyx ) about 410 people have done Leap, while 277 have done Anagram. That's about 1/3 of our students not making progress.
Other tracks do have completion rate decline between exercises, which is expected. But having also dealt with the Lifetimes Hurdle, I agree that it can be hard. And I think the numbers show that.
So, I'm agreed that Anagram comes too early. I think there are other, gentler Rust exercises we could put before it. Such as (roughly in order)
- Difference of Squares (can introduce
fold
, depending on implementation) - Hamming (
Result
) - Word Count (
HashMap
s,filter
) - Nucleotide Count
I think there's still an issue (and a long standing one at that) of setting up some problems specifically to introduce Lifetimes. I'm kind-of in the middle of writing a Rust workshop, and I'm hoping some lifetimes exercises will result from that. To Be Determined, I guess.
from rust.
I'm going to close this because I want to tackle problem ordering all at once (or at least take a good run at it) in #127.
Thanks so much for the fantastic write up @mlk5060. Even though it took me 4 (yes, 1, 2, 3, 4) blog posts to describe how I handled this exercise I never thought, "Huh, maybe we could just move that exercise to later". Because I am super dumb.
So, ✋ high five to you for taking the time to write that up here and help a bunch of future Rust students on Exercism.
from rust.
about 410 people have done Leap, while 277 have done Anagram.
This doesn't include archived solutions, but the ratio is about right.
from rust.
Related Issues (20)
- Rust Reverse String Problem HOT 4
- Spell checks / Typos HOT 2
- Question/Possible documentation issue: How to enable features? HOT 2
- Remove test_ prefix from test functions HOT 1
- Test in CI that we're in sync with problem-specifications HOT 2
- Simply linked list test error HOT 1
- Pin test runner to a specific version HOT 1
- Document / reconsider `topics` field in track config HOT 1
- Improve example solution testing scripts
- CamelCase test unintentionally removed from acronym exercise HOT 2
- Building a training set of tags for rust HOT 25
- Tests fail with no output HOT 15
- Tests don't pass when sending Cargo.toml with optional dependency HOT 1
- Remove all util functions from test files HOT 4
- Test in CI that stubs don't generate clippy warnings HOT 1
- Move more CI tests to rust tooling
- Concepts for this track are not displayed HOT 1
- word-count: change interface from u32 to usize
- test type_override fails even when correct solution is made in macros lesson HOT 1
- Performance issue about the Isogram problem approach HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.