HashMap: change order of assignments
Checks
- [X] This is not a duplicate of an existing issue (please have a look through our open issues list to make sure)
- [X] I have thoroughly read and understand The Odin Project Contributing Guide
- [X] Would you like to work on this issue?
Describe your suggestion
Assignments under HashMap has two assignments.
The assignment below is a very simplified introduction to the concept of Hash Maps. It should NOT come after the reader has already gone through the entire lesson content (Assumption: reader absorbs content linearly top-down). It would not make sense to have the learner get an ELI5 version only AFTER they've gone through the more difficult/verbose/nuanced explanation of the same thing.
Asssignment in question:
Watch this video from CS50 that explains the concept of hash maps using buckets.
There are multiple possible ways this can be resolved. These are listed in order of Benefit (which is inversely related to Disruptiveness). By Disruptiveness I mean how big of a change something is, or how much the change goes against the convention (which in this case is to have all Assignments at the bottom).
-
Provide a link to the "CS50" assignment at the very top of the lesson (after Lesson Overview), to use it as a launching point BEFORE the in-house lesson. The language can be something along the lines of "watch this CS50 video for an introduction to the concept of Hash Maps"
- This IS the most sensible (high Benefit), but Disruptive
- The link CAN be an internal link TO Assignment section that contains the CS50 video, if we wish to preserve this video as an "Assignment." I do not see the utility in this.
-
Switch the order of the assignments - make sure the CS50 video is the 1st thing under the Assignment section.
-
Remove the CS50 video entirely, as it simply provides a redundant explanation that would have been far more useful to the learner at the beginning of this lesson.
Path
Node / JS
Lesson Url
https://www.theodinproject.com/lessons/javascript-hashmap-data-structure#assignment
(Optional) Discord Name
suplexinmyduplex
(Optional) Additional Comments
No response
@JoshDevHub Do you have an opinion on this?
@thereisnodeveloper Thank you for raising this issue!
I'm partial to solution 2 for a couple of reasons.
- We've generally come to resist placing resources outside of the Assignment section. This would of course conflict with the first idea.
- I don't necessarily think it's a "bad" thing for resources to simplify or reiterate the lesson's content.
Glad to assign you to work on this. Also glad to discuss further if you feel strongly about the merits of a different way forward.
Be sure to implement the same change in the Ruby course's version of this lesson. Don't worry, you don't have to know anything about Ruby to do this.
Thank you for your comments and assignment @JoshDevHub !
I've done a lot of thinking on this topic, and have been leaning one way since the time when the issue was created. But first would like to understand the reasoning for: "We've generally come to resist placing resources outside of the Assignment section". Will you please clarify or point to past related discussions?
There must have been reoccurring issues or significant costs associated with this practice, so I believe understanding the downsides first would then help us think through the pros-cons.
Many thanks!
This issue is stale because it has had no activity for the last 30 days.
@thereisnodeveloper Generally speaking, important reading should be an assignment. Links mid-lesson are still acceptable but preferably, they'd be more like links to definitions or just adding a small amount of context to a specific sentence of paragraph, and less of a general larger-scope reading, as that would suit an assignment better. This keeps those kinds of readings in a single place, rather than being scattered around and potentially missed/confused as to what needs more or less attention.
There are still some lessons where assigned readings are mid-lesson, but they're things that would need addressing separately and potentially need a lot of work to rewrite accordingly (and so are lower priority for now). For new work, we'd favour the above approach.
Since you've been assigned to this issue and #28865, you can work on them and any further discussion can take place in the relevant PR(s) if needed.
Closing due to inactivity