Skip to content
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

Feature: Split out exercises by lesson #333

Closed
3 tasks done
Asartea opened this issue Mar 5, 2023 · 11 comments
Closed
3 tasks done

Feature: Split out exercises by lesson #333

Asartea opened this issue Mar 5, 2023 · 11 comments
Labels
Status: Discussion This issue/PR has an ongoing discussion

Comments

@Asartea
Copy link
Contributor

Asartea commented Mar 5, 2023

Complete the following REQUIRED checkboxes:

  • I have thoroughly read and understand The Odin Project Contributing Guide
  • The title of this issue follows the location for request: brief description of request format, e.g. Exercises: Add exercise on XYZ

The following checkbox is OPTIONAL:

  • I would like to be assigned this issue to work on it

1. Description of the Feature Request:

  • Learners get occasionally confused about whether or not they should do all the exercises in the repository, or only the ones assigned (because in the second case, whats the point for the other exercises). A easy way to alleviate this would be to split the exercises out per lesson, and then put them in a separate folder per said lesson (so eg the first seven would go into /fundamentals-part-4/, and the rest into /fundamentals-part-5/). We could then update the curriculum links to point to those folders

2. Acceptance Criteria:
[ ] the exercises are separated out by lesson
[ ] the curriculum has been updated to account for these changes

3. Additional Information:

@Asartea Asartea added the Status: Needs Review This issue/PR needs an initial or additional review label Mar 5, 2023
@codyloyd codyloyd added Status: Discussion This issue/PR has an ongoing discussion and removed Status: Needs Review This issue/PR needs an initial or additional review labels Jun 8, 2023
@codyloyd
Copy link
Member

codyloyd commented Jun 8, 2023

The reason we've kept things like this, is because I like to think of them as somewhat removed from the curriculum.

Someone that wanted to brush up on or test their JS knowledge could just jump into this repo and do some practice without the context of the lessons where they're first introduced.

Having said that... i'm not entirely against the idea, if others think it would be useful.

I'm curious what @TheOdinProject/javascript @TheOdinProject/foundations has to say about it.

@01zulfi
Copy link
Member

01zulfi commented Jun 9, 2023

I agree with @codyloyd

Another issue is that the lesson itself could change for multiple reasons. What if we decide to change the lesson title from fundamentals-part-4 to something more descriptive? We would have to echo that change in here. What if we decide to move the removeFromArray exercise to a different lesson? We would have to echo that change in here. There will be significant upkeep involved.

@wise-king-sullyman
Copy link
Member

While I do agree with all of the negatives of this change I think it would be worthwhile. I have known several people that got tripped up on what exercises they needed to do and it was a significant impediment for them.

One idea that could alleviate some of these concerns, rather than nesting them in different directories for each lesson we could have a different branch for each lesson.

@Asartea
Copy link
Contributor Author

Asartea commented Jun 12, 2023

One idea that could alleviate some of these concerns, rather than nesting them in different directories for each lesson we could have a different branch for each lesson.

After all the various issues with the solutions branch, please no. Speaking as a learner Github's branching interface isn't intuitive enough to make branches as a way of separating content usable, especially as this repo also has and will continue to have branches meant to get merged into main, which drowns a "content branch" out

@wise-king-sullyman
Copy link
Member

@Asartea From a repo maintenance POV it would be less than ideal, but unless I'm overlooking something from a learner standpoint it seems like branches would potentially be an ideal solution here?

The reason I say that is (at least with the current lesson structure) the fundamentals 4 exercises could live on main, and the remaining exercises are reached shortly after revisiting RPS where branches are introduced, so having those exercises on a separate branch could potentially be great practice with branching to help reinforce the concept. And of course it would likely prevent people from not being sure what exercises they should do during fundamentals 4.

Also, I'm unsure why learners would need to use GitHub's branching interface for this? Could you elaborate on that?

Admittedly though I'm not super familiar with the problems you mention with the solution branch, or at least don't remember them. If you would like to dive deeper into those issues they could sway my opinion.

@codyloyd
Copy link
Member

I think branches would overcomplicate stuff... if we want things separated that much, we should just do different repos.

I don't think that's a good idea though. I wouldn't be too against organizing these in folders here.. but i don't think anything more convoluted would be helpful.

@wise-king-sullyman
Copy link
Member

Yeah I considered different repos as well, but that seems like far more hassle than branches would be.

I'm not opposed to just having folders if we want to just keep things as simple as possible.

@thatblindgeye
Copy link
Contributor

I feel no matter what there is going to be confusion. Whether we have different directories by lesson, different branches, etc. We try to be clear about what exercises you need to do in an assignment ("Do the following exercises..."). We could be a little clearer both in the initial lesson the exercises are introduced and the repo README ("There are several exercises in the repository that you'll complete over several lessons. Be sure you only complete the exercises assigned.").

The (or one) issue with the previous solutions directory is that it needlessly complicated a user being able to compare their solution to TOP's solution. Having it all in a single branch, but in a separate solutions directory, makes it easier to compare against. Personally I'd be against having separate branches for the different lessons and would prefer just separate directories between the two. I might be in the camp of not doing either for the aforementioned upkeep (updating a branch/directory if a lesson changes, moving an exercise if it's moved to a different lesson, updating all of the links in any lesson that redirects to the directory/branch), but we should also consider how often those kinds of changes happen with these exercises.

@Asartea is there anything about the verbiage used when exercises are assigned that isn't clear, could be improved, etc? I wouldn't be wholly against creating separate directories by lesson in this repo, but wondering if it's more a matter of us not being clear enough.

@thatblindgeye
Copy link
Contributor

@Asartea checking in if this is something you still feel strongly about? Discussion has died down, but I don't think overall a way forward has been chosen.

@Asartea
Copy link
Contributor Author

Asartea commented Feb 5, 2024

I mean, its been close to a year since I've thought about this, until I got this ping, so no

@thatblindgeye
Copy link
Contributor

Will close this for now then, but we can always reopen it to revisit it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Discussion This issue/PR has an ongoing discussion
Projects
None yet
Development

No branches or pull requests

5 participants