Skip to content

Conversation

@kytrinyx
Copy link
Member

@kytrinyx kytrinyx commented Mar 31, 2023

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.

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.
@kytrinyx kytrinyx requested a review from a team as a code owner March 31, 2023 14:08
Comment on lines 8 to 9
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.
Copy link
Member

@BethanyG BethanyG Apr 1, 2023

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.

Copy link
Member Author

@kytrinyx kytrinyx Apr 2, 2023

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!

Copy link
Member

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.

Copy link
Member

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?

Copy link
Member

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.

Copy link
Member Author

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?

@kytrinyx
Copy link
Member Author

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 .append.md file.

Copy link
Member

@IsaacG IsaacG left a 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?

@kytrinyx
Copy link
Member Author

@IsaacG I think I would be okay with shipping it to all the tracks as is, and only adding append.mds if questions come up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants