[Rust Syllabus] Overview + Tracking

(Note: there’s a lot of preamble you can read at Becoming maintainer of the Rust track but you can also skip that and start here :))

This issue is going to be a tracking issue for what we’re doing to get a new Rust Syllabus built. I’m really excited about getting the it launch and also about trying a more collaborative approach to syllabus building at Exercism! Rather than adding too much noise to this issue, please consider opening new issues for specific questions.

Here are a few key points to note:

  • The Exercism staff (specifically me, @ErikSchierboom and @jonathanmiddleton) are going to lead this project, but try and avoid doing any actual coding/writing/reviewing. We want to empower and knowledge-share with the people involved.
  • We’re going to loosely follow the syllabus of the Rust Book,
  • Someone should be able to learn Rust through this syllabus.
  • We want to get people writing Rust code as quickly as possible using their existing knowledge, so the first set of exercises won’t have too much Rust-specific stuff in.
  • When a student gets to Rust-specific exercises, they should be able learn in bitesized chunks and feel confident without needing to read other websites.

The project is going to be structured like this:

  1. Build out the first few exercises that don’t require Rust-specific concepts (effectively chapter 3 of the Rust book). A lot of this work has already been done by @isDineshHere - we now need to go through and get those merged.
  2. For each Rust-specific topic, discuss in a dedicated thread: firstly agreeing an exemplar exercise, then agreeing (in bullet points) the topics to cover in the introduction and the about, then agreeing the exercise/tasks. Then someone will go and turn that into an Exercise and Concepts.
  3. Connect the right Practice Exercises to each Concept
  4. Do a refinement pass on everything
  5. Launch!

We’re going to take an optimistic merging approach, where if something is pretty much there, we merge it, then in the final phase, we’ll tidy things up.

This is a list of the official forum topics for each of the steps above (WIP):

  1. Agree first exercises

What happened after this?

I’d like to contribute to the rust track and reached out to @senekor, who it turns out isn’t the Rust maintainer after all, which I assumed because of the previous thread’s opening comment.

Also, there are a few open PRs which @iHiD said would be reviewed and merged almost two months ago. Further updates in the thread includes Remo requesting a PR to be opened, and @isDineshHere opened a few PRs and seemingly isn’t here. I’ve pinged him in Discord, and will update - but he hasn’t been seen there for a month either.

I also understand the Exercism’s team has been busy with Premium and Insiders, so I expect this (rightly) fell down in the priorities. As I see it, there was a lot of activity over the Rust syllabus thing, and it all kinda broke down.

What say we use this thread to a) sign up people who’re explicitly able and willing to contribute over the next few months, b) make a plan of maximum say 10 exercises and sort them out to different folks, and c) review and merge them? That’d be a start to the syllabus, after which things will hopefully carry on by themselves.

To update: Dinesh will not be working on this anymore.

I know an incredible proficient Rust developer. Would it make sense to ask if he want to contribute? Or are here bigger issues in the process?

(Didn’t follow much things about the Rust track.)

Syllabuses are rather difficult to create and take a bunch of time. And more or less always need a person who is stubborn and has time to manage the development of the syllabus.

Yeah, I know. Working on my first contributions to the Go track and new concepts for a while. And all those different files still drive me crazy. :worried:

Hi Sebastian, sorry, I forgot to reply.

I think that’s a good idea, regardless of whether or not we actually get around to the syllabus!

Is it just me, or is the team being silent on this?

I will ping him. Don’t know if this could be something for him. Pretty busy, too. And it’s really not so easy to contribute (on a syllabus). I still didn’t provide any progress for my Go track contributions, since it was so hard to find my way through all the documentation and different files. Pretty frustrating. So I did way more mentoring, since this “just work”. I will give feedback.

Hi. Potential novice volunteer here.

I am getting started with Rustlings, which probably means there is not anything I can do to assist (I’ve looked at the 5 Issues tagged Good First Issues, which seems to confirm this).

I could be wrong, but I don’t see an opening to (say), iterate going through lessons (easily set up) and flag problems or gaps.

Probably all I can do now is level up my Rust, and follow this thread.

slightly OT: I recently did the Golang Concept tree, alongside a Go book…

…I actually had to STOP reading the book because it was slowing me down.
(now, I’m still going catching-up on the book, which shouldn’t be skipped, but it’s now so much easier thanks to Exercism). That would be amazing for Rust.

Hi @sprive, thanks for expressing interest.

I wouldn’t bother going through what’s currently present in terms of a syllabus in the repo. I think for the work on it to continue, there needs to be a new comprehensive vision for it. Which means what’s present right now would be reworked significantly. I’m the only active maintainer on the Rust track right now and I don’t have immediate plans to work on the syllabus. I have plenty of maintenance-type work I wanna do first.

The Good First Issues are probably mostly outdated, I’ll have to cleanup the backlog of issues from the maintainers who preceded me to close what doesn’t make sense anymore.

I do hope you stay in the loop. Consider subscribing to the topic Rust, and posting about your experience on the track and ideas to improve it. As a maintainer, I’m further removed from student’s experiences than I would like. Don’t hesitate to tag me, here or on discord.

And most importantly, I hope you have fun learning Rust!

Thanks @senekor for your reply. Even from what little I know, it’s apparent this is a ton of work. So, double thanks for maintaining :smiley:

I’m now subscribed to Rust, and follow this thread. If this is the canonical thread, it might help to “bump” it every few months with some kind of status. Just for outside observers.

I will post about the Rust track (but not for a while… since I need to use enough outside material to meet the bar for practice).

Yup, having fun. This whole site is amazing.