python icon indicating copy to clipboard operation
python copied to clipboard

[List Ops]: Review/Improve Exercise

Open BethanyG opened this issue 3 years ago • 1 comments

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:

  1. concat instructions seem unclear, and could be mis-interpreted to mean "fully unpack". (#3142)
  2. foldr is not fully explained, and can lead to confusion (#3084)
  3. Unclear if append requires a new list or the mutation of either list A or list B (#3141)
  4. 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:

  1. 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.
  2. A hints.md file, 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?"
  3. 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.
  4. 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.

BethanyG avatar Aug 10 '22 07:08 BethanyG

🤖   🤖

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.
                  This creates longer review cycles & exhausts reviewers energy & time.
                  It may also conflict with ongoing changes from other contributors.
    ​        ❗ Insert only blank lines, make a closing bracket drop to the next line, change a word
                  to a synonym without obvious reason, or add trailing space that's not an EOL for the very end of text files.         ❗ Introduce arbitrary changes "just to change things" .

            ...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. 🌈 ✨

github-actions[bot] avatar Aug 10 '22 07:08 github-actions[bot]

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

BethanyG avatar Jun 23 '23 13:06 BethanyG