python
python copied to clipboard
[List Ops]: Review/Improve Exercise
This is a tracking issue for reviewing and improving the List Ops practice exercise for Python.
Please see issues #3142, #3141 (with the related #2078 in problem-specifications), and #3154 for details and discussion on some explanations/clarity that's needed.
In particular, there are the following issues:
concatinstructions seem unclear, and could be mis-interpreted to mean "fully unpack". (#3142)foldris not fully explained, and can lead to confusion (#3084)- Unclear if
appendrequires a newlistor the mutation of eitherlist Aorlist B(#3141) - Unclear what is "allowed" and "disallowed" when re-implementing list operations. Are all common sequence operations off the table? Are built-ins? What sort of variations should the student explore? (#3154)
As discussed in #2078, there are several avenues we could take in clarifying/filling out this exercise:
- An instruction append, along the lines of this exercise -- not that we have to be that imperative, but we can add a few instructions/variations. As noted in the discussion in #3154, we probably don't want to do anything that might "give away" a specific solution, but we could always suggest/encourage thinking about certain modules, approaches, or functions in a hinty sort of way.
- A
hints.mdfile, similar to the one for this exercise. I especially like the opening paragraph that reminds the student that there are multiple paths/strategies. We might outline useful groups of functions or modules at different "levels" of difficulty. Again, these would probably be in the form of questions like "how might x help you to not use the + operator here??" or "could y help you out with this?" - A set of mentor notes (see the website-copy repo for examples for Python). In the mentor notes, we could encourage mentors to nudge students to challenge themselves with one or more variations on the exercise.
- Some additional Python-specific tests that nudge a student in a particular direction. We'd want to be careful to not fish for a specific implementation, so this approach might be limited.
🤖 🤖
Hi! 👋🏽 👋 Welcome to the Exercism Python Repo!
Thank you for opening an issue! 🐍 🌈 ✨
- If you are requesting support, we will be along shortly to help. (generally within 72 hours, often more quickly).
- Found a problem with tests, exercises or something else?? 🎉
◦ We'll take a look as soon as we can & identify what work is needed to fix it. (generally within 72 hours).
◦ If you'd also like to make a PR to fix the issue, please have a quick look at the Pull Requests doc.
We 💙 PRs that follow our Exercism & Track contributing guidelines!
- Here because of an obvious (and small set of) spelling, grammar, or punctuation issues with one exercise,
concept, or Python document?? 🌟Please feel free to submit a PR, linking to this issue.🎉
‼️ Please Do Not ‼️ ❗ Run checks on the whole repo & submit a bunch of PRs. ...These sorts of things are not considered helpful, and will likely be closed by reviewers. |
- For anything complicated or ambiguous, let's discuss things -- we will likely welcome a PR from you.
- Here to suggest a feature or new exercise?? Hooray! Please keep in mind Chesterton's Fence.
Thoughtful suggestions will likely result faster & more enthusiastic responses from maintainers.
💛 💙 While you are here... If you decide to help out with other open issues, you have our gratitude 🙌 🙌🏽.
Anything tagged with [help wanted] and without [Claimed] is up for grabs.
Comment on the issue and we will reserve it for you. 🌈 ✨
More recent discussion and debate from the forum, WRT ordering in foldl and foldr:
https://forum.exercism.org/t/misleading-foldr-tests-in-python-track-list-ops/6215/9 https://forum.exercism.org/t/bug-in-python-list-ops-test/4835/35 https://forum.exercism.org/t/suggestion-refocus-list-ops-on-iterators-instead-of-lists/5089/9
As well as related PRs: https://github.com/exercism/python/pull/3405 https://github.com/exercism/python/pull/3403 https://github.com/exercism/python/pull/3402