TheOdinProject / curriculum

The open curriculum for learning web development
https://www.theodinproject.com/
Other
10.03k stars 13.44k forks source link

All courses: Re-evaluate 'additional resources' section #28713

Open ghost opened 2 months ago

ghost commented 2 months ago

Checks

Describe your suggestion

Over time I have noticed learners get sidetracked by some of the additional resources in some lessons, some examples of this being the books "Think like a programmer" and "Eloquent JavaScript", I have not gone through all of the curriculum so I don't know if there are more examples like these, but there seem to be mixed feelings and suggestions about what to do about this section.

Some people seem to like these resources because they can give a different view on the topics at hand, and some do not even bother looking at them. There is also the suspicion that some learners go through all of them despite them being "optional".

Carlos suggested that "...If it were my choice alone, I’d remove every such section and for things that would really benefit people, I’d put it at the end of the curriculum. If something can’t afford to be removed from an additional resources section, it should be in the lesson". In my opinion, I do agree with this, there are some additional resources that could potentially benefit all learners if they were part of the lesson/assignments section like flexbox froggy and css dinner, and for the big resources like books or other technologies, these would be better off at the end of a course, path or the whole curriculum itself. Some other reasons I consider that this section could be removed are:

  1. Improved quality of the the content: if some of these resources were to be integrated into the lessons, there would be more feedback about them, making it easier to identify which resources are worth keeping or need to be updated. This would also assure that the resources in the lesson are really needed and directly related to the content itself.

  2. Motivate learners to ask for help: even if less options could seem like a bad idea, instead of making learners go into many different resources hoping to have their doubts cleared, they could be better off making use of the community or learning how to look up things by themselves.

  3. Reduce workload on mantainers: I have noticed that there are a fair amount of open/closed/stale issues asking to add, remove or edit additional resources. It also seems that there is a lot less thought taken when adding these resources into the lessons, which is why things like the two books mentionded at the begininning ended up being part of the "organizing your javascript code" lesson, just to be removed later on (https://github.com/TheOdinProject/curriculum/pull/25780).

  4. Everyone on the same page: currently there are probably many learners that have gone through resources in the curriculum that others have not. If they were to struggle with one of these, they would only be able to get help from someone that has gone through the same or is willing to look into it.

I will also leave a link to the start of the discussion there was around this topic in the community.

Path

Foundations, Ruby / Rails, Node / JS

Lesson Url

All lessons with additional resources

(Optional) Discord Name

sukairaida

(Optional) Additional Comments

No response

wise-king-sullyman commented 2 months ago

This is probably something that needs feedback from more @TheOdinProject/maintainers, but I am in favor of an (at the least) strong re-evaluation of them.

It would be a pretty big undertaking though. Probably the kind of thing that at least one maintainer needs to volunteer to take point on with a handful of other volunteers, either other maintainers or just community members who would like to contribute to a more organized effort.

bycdiaz commented 2 months ago

I've had similar thoughts and I think with this being a potentially big change, we can take it slow and in stages. I think the first related task that comes to mind for this, before we propose any changes, is coming to an agreement on what "Additional Resources" are in a lesson.

Are they a more advanced look at the lesson's topics? Are they the lesson topics re-framed in case the actual lesson content didn't land for the learner? Are they nice to know things related to the topics in the lesson? Additionally, there was also a point where we only included free content. And I believe I've seen more than a few resources that are not free.

I'm personally not sure if we have a definition for them and I've love for us to arrive at one as a starting point?

wise-king-sullyman commented 1 month ago

Probably a good idea.

I think currently that they're all of the above.... and I don't think that's ideal.

Are they the lesson topics re-framed in case the actual lesson content didn't land for the learner?

This I think is the thing I least want them to be. To me once we've introduced a concept and done our best to explain it to the level we feel is appropriate I think it's reasonable that learners seek out their own alternative framings/formats/etc if needed.

Are they nice to know things related to the topics in the lesson? Are they a more advanced look at the lesson's topics?

I feel like these are kind of tied together, with the second just being a subset of the first? I'm not nearly as opposed to these, but if we broadly don't think that something is needed for people to become job ready I question if we should even mention them in the first place.

If we were to continue including things like this I wonder if maybe it would make more sense to just restrict them to (at least generally) being after projects once a topic has been fully covered and practiced rather than at the end of each lesson?

JoshDevHub commented 1 month ago

I agree on rethinking them. It's telling that common advice in the discord is to ignore them.

The only instance where I ever appreciated them is the more "reference" type stuff that the learner isn't meant to interact with in the moment but can file away or bookmark for future use.

MaoShizhong commented 1 month ago

I personally would be very happy to straight up drop the additional resources section (after reviewing what will be dropped in case we feel any ought to be assigned readings), and I like the idea of restricting additional resources to just a few as the last section of project pages.

One problem we have with the current way is people often PR adding an AR solely because the article was "helpful", even if it's just an alternative for an assigned reading and one they only personally preferred the wording of. Or even just because the section is empty.

Fully agree we should have a stricter definition for what would justify an AR in that scenario, to help prevent bloat from people trying to get "helpful" resources in left right and center, and limit the scope of any accepted ARs. Not that we don't want people so share helpful things, but IMO it's far better to be very deliberate on what we include, else we could throw any old "helpful" or "neat" thing in.

It would be a large undertaking though. I think at the very least, a few staff should run through groups of lessons at a time and mame a call on what ARs are good candidates for assigned resources, and what could definitely be dropped.

devnchill commented 1 month ago

I agree as well. I've read some of those additional resource as well and sometimes they make things even more confusing , using something which hasn't been taught yet or linking furthre more infos on them which makes it look like a rabbit hole kind of thing.

lukegrob commented 1 month ago

I've found some of them very useful, so I'd love to make them "Further Reading" at more appropriate time than in-the-middle-of-the-actual-assigned-reading, like Appendices of sorts, preferably after the relevant section has been fully covered in the curriculum.

I think that would fit well with the "move forward" intent of TOP, while still allowing for some deeper reading if desired at the end of a project/instruction section.

SierraM-0 commented 1 month ago

I seem to be the minority but I've found the ARs very useful so far. Getting information just from one place always leaves me so insecure about the knowledge that I acquire. This goes for everything. In those cases, I have no idea of what the limits are or the context in which these tools are used.

These ARs do such a good job at re-enforcing what I read though. In TOP, I learn about the main and most impactful part of the topic. Expanding more then that gives me a very nice bird-eye-view of what exactly did I read about and how it branches out. Otherwise I feel like I'm walking blind. Even if they are a bit off topic, this is where they become useful. Knowing where you are and how things are related.

Sometimes I just want to learn about coding but I don't want to do TOP homework but just some casual read. For that I've bookmarked ARs and late at night when I'm done with TOP progress I just go through them.

It's also given me such a nice understanding of how valuable dev blogs are. Before I knew that they were a thing but I never knew how these blogs can have some very very useful concepts on how things work but most importantly how people think differently of the tool.

I think not using ARs is a symptom of wanting to rush things through and finish as quickly as possible. Not that the information there is not useful.

I'm doing the flexbox landing page right now. It's taken me close to 2 weeks on and off to get here even though it's just 4 lessons. It's been the most amazing experience looking at that example page in the "landing page" project though and knowing exactly what I need to do in terms of flex division and nesting. I've never in my life have been so confident writing code the first time around. If I hadn't thoroughly read through, I believe I would eventually get the page done but I would be struggling so much more. Projects should be challenging but not artificially so.

Perhaps ARs can be better explained on how and where to use instead of removing completely. It can be made very clear that this section is optional and if someone along the way needs more context to feel secure in what they're learning, it can be found here.

I'd still say that people are missing out from the information on there if skipped. Syntax you can learn everywhere but different opinions and thoughts are extremely hard to find for me at least.

bycdiaz commented 1 month ago

I feel like the most immediate task is to decide what the definition of additional resources is. That will express what we intend for them to accomplish. Once we have clarity there, I think it's easier to decide if we want to:

bycdiaz commented 1 month ago

@SierraM-0 I don't think there's an argument about the potential utility some of those resources have. I think the bigger issues is understanding the criteria for when we add resources. And whether we need this section at all. If a resource is so important for the concept that we can't drop the additional resources section, that tells me the resource needs to be in the lesson itself.

github-actions[bot] commented 2 weeks ago

This issue is stale because it has had no activity for the last 30 days.