Closed F4s0lix closed 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.
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
@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:
Some things you might want to consider as part of these notes:
Enums
. It was written before Enums were available in core Python, but the constants in it can serve the same purpose.if/elif/else
block? (Hint: structural pattern matching)if/elif/else
blocks? (the example solution uses an interesting one)
more like sample program but I think it will help some people