exercism / website-copy

A repository for exercism's website's copy
203 stars 950 forks source link

[python/yacht] Create mentoring.md #2322

Closed F4s0lix closed 7 months ago

F4s0lix commented 7 months ago

more like sample program but I think it will help some people

IsaacG commented 7 months ago

This should be targeted at mentors, not students.

Mentors typically already solved the exercise, know how to read code and know how to browse the community solutions. Can you add discussion notes, common gotchas, talking points, etc?

Mentoring notes typically also include a complete working solution in a single codeblock.

F4s0lix commented 7 months ago

I rewrited everything using example from README and Mentore notes section from README. If you have any other suggestions I will try to implement it

BethanyG commented 7 months ago

@SleeplessByte -- you are correct. The path should be tracks/python/exercises/yacht/mentoring.md. There is an extra level in the path that needs to be removed.

This is also quite sparse for mentoring notes. It's missing a setup of the problem and is very light on suggestions and talking points.

It also recommends a 'reasonable solution' that .....isn't. We should never encourage students to assign a name to a lambda in Python. It screws with stack traces, debugging, and the help system. At the very least, there should be talking points around the "controversy", and details as to why this is a bad/not bad idea, what alternatives there are, and what circumstances (if any at all) might lead to (acceptably) doing it.

Additionally, there are other ways to solve this problem idiomatically that are not covered by these notes. While we don't need to be exhaustive with solutions, we do need to provide some reasonable variation and strategy for mentors to look at and suggest. I would recommend looking at/for community solutions that do not use lambdas, but do use strategies beyond the if/elif/else block.

As it stands, I don't think we should accept this PR.

@F4s0lix -- please take a look at this acronym mentoring notes doc and alternatively this doc as examples of what we're looking for. You can find additional mentoring note variations for Python here.

As mentioned above, these notes are geared toward mentors who have previously solved the problem, and are looking for tips, hints, and strategies for discussing the problem with students in a productive and helpful manner.

The focus is on walking a mentor through:

  1. The learning purpose of the exercise
  2. The main (idiomatic) strategies for solving the exercise, or the main parts of the exercise.
  3. The discussion points or prompts one might give the student to 'nudge' them in an idiomatic solution direction.
  4. Other tools/techniques/considerations/extensions to the problem the mentor (and student) might think about.

Some things you might want to consider as part of these notes: