-
-
Notifications
You must be signed in to change notification settings - Fork 557
Rework simple-linked-list documentation #2244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This PR is part of our project of making our Practice Exercises more consistent and human. For more context please see the following forum-thread: https://forum.exercism.org/t/new-project-making-practice-exercises-more-consistent-and-human-across-exercism/3943 The main change for this exercise is to put it into the context of a small story.
| The prototype also needs to have import/export functionality. | ||
| Given the playlist as a singly linked list, you will need to be able to convert it to the data type used for the external collection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels a bit confusing to me, since (at least for Python) the tests don't have anything that would imply exporting, or returning data generally, except for the reversed method. Are we adding test cases for presentation/export?
edited to add - I suppose that creation and return of a linked list would be "export", but the language does throw me a bit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added it because the original specified going from arrays to linked lists and the opposite.
As a first take, lets create a singly linked list to contain the range (1..10), and provide functions to reverse a linked list and convert to and from arrays.
But I didn't want to say array, because not all languages have them.
Definitely open to suggestions!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's OK. I can't think of a re-wording that works in this context. Using list or container is equally problematic. 🙂
It it is confusing, we can add or explain more in the python addendum - which probably needs a re-work -- or also talk about import/export scenarios when we look at constructing some canonical data? No need to hold this up due to that detail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we could say:
Given the playlist as a singly linked list, you will need to be able to convert it to whichever data type your language is using for the external collection (e.g. an array or list).
Do we maybe want to explicitely say here "Check the tests" too? For languages who aren't as wonderful as Python with their addendums?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That works 🙂 - but we can also leave it as-is. I think (for me) this is just highlighting that the exercise and test cases need a reexamination/rework for Python.
I think we may want to have a long and through discussion around the canonical data for this exercise, when we get to that point (it doesn't have canonical data right now).
For example, we have this issue in the Forum, asking for tests to check for/force a particular return type for reversed -- so we may want to 'lean in' to the conversion part and have students make a convert method, or not as the case may be.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this doesn't have canonical data, it's harder to pin down the existing functionality that the exercise description needs to adhere to.
Maybe we could just delete the bit about import/export. If creating a linked list just seems like an obvious thing within the context of the exercise (or taking a linked list and making an array or whatever else), then maybe it won't be confusing to just not mention it at all?
|
I've gone ahead and simplified this a bit further, removing the wording around import/export. I think that if there are questions about this on individuals tracks, maybe we can clarify in the |
IsaacG
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean we need to coordinate this rolling/sync with per-track addendums?
|
@IsaacG I think I would be okay with shipping it to all the tracks as is, and only adding |
This exercise is one of the focus exercises for 12in23.
This PR is part of our project of making our Practice Exercises more consistent and human. For more context please see this forum thread
We aim to merge this PR in roughly 72 hours, and then submit PRs to all tracks that have this exercise.
The main change is to frame the exercise within the context of a story.