Mentorship to learn rust better by doing AoC challenges

Hello,

Is there some one who can be a sort of mentor so I can learn rust better by for example doing the Advent of Code challenges. I tried the exercism challenges but get really stuck soon.

Regards,

Roelof

What kind of mentoring are you expecting? Code review? Code samples? What is your overall programming skills? AoC problems become pretty tricky on some point (just saying that it is not so easy challange as it appears). I don't discourage you, but I thing you need to be more precise about the whole mentoring think, so people are able to get a view if they are capable to give such a help.

Good questions. Im thinking about thinking with me how to solve and approach these sort of problems.
So for examle day1 part1 I write how I can think it can be solved and someone can give feedback on it so I hopefully learn how I can approach these sort of problems.

and when im done I also like to get feedback on the code. but for all i look for mentoring to learn how to approch these sort of problems so how to make a good game plan.

I hope its clear what im looking for.

According "feedback on the code" - also commonly called just "code review", that is somehow I could do. However I am just honest now - I don't have time for detailed mentoring. In general consider how much time do you asking for - the review thing requires some time on its own, but it gives the reviewer some payoff - at least for me practicing code reviewing is a value. However going through not so trivial exercises teaching someone is actually big amount of work - just consider it.

I think it would be fair just to do as much research as you can on your own, and then come with solid questions to the forum, where we are spending our spare time kind of relaxing between our work, family and maybe personal projects.

1 Like

AoC doesn't seem like a bad way to learn some rust. Some things you'll have to deal with up front:

  • string parsing
  • the ownership model and borrow checker
  • some very light error handling
  • cargo (this year's problems have a recurring theme with an interpreted language for which you will probably want to factor out some code into a crate)
  • writing unit tests
  • idiomatic solutions will involve function definitions, structs, enums, match, iterators, etc.

but coverage of concepts will not be as exhaustive as Exercism would be. The problems also involve a fair bit of problem solving—much moreso than Exercism, but not nearly as much as, say, Project Euler. If you want to do these problems you should ideally already have a firm grasp on general, cross-language concepts such as:

  • iteration and recursion
  • when should you use a vector versus e.g. a hashtable
  • the difference between breadth-first and depth-first traversal in an algorithm (and when you should use each)

If you just post your code here (ideally hosted on github, and preferably waiting until at least, say, 500 people have solved each problem before pushing), some of the users here will gladly critique it and suggest changes to make it more idiomatic. The problem solving aspects however are not really on-topic for this forum.

Thanks all.

Maye it a better idea to first do all the exercism one 's because the last one difference between breath-first and dept-first traversal is one of the things I still have to learn. Also the second one when to use a vector instead of a hashable is not always clear to me.

rwobben

If you want mentoring/code review I have sneaky suggestion for a way to get it without causing anyone to worry about dedicating time or effort on it. In fact they will be happy to discuss it with you. It goes like this:

  1. Make a best effort attempt at creating a solution for yourself.

  2. When you get stuck on a point, or generally feel you want to ask "how do I make this better", then post a specific question about it here together with a suitably concise code snippet showing your difficulty. Or with an example set up in the Rust playground: https://play.rust-lang.org/

I think that in general people are more than willing to offer help and make suggestions if it looks like the poster has put some effort in and if hey happen to have a free minute or two to reply when passing through here.

This has worked very well for me here so far!

In return I try to answer questions and offer suggestions on other forums if I can and if I'm in the mood.

Hopefully what goes around comes around. Good kama and all that.

Thanks everything for the answers.