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

HashMap: change order of assignments #28838

Open
3 tasks done
thereisnodeveloper opened this issue Sep 22, 2024 · 3 comments
Open
3 tasks done

HashMap: change order of assignments #28838

thereisnodeveloper opened this issue Sep 22, 2024 · 3 comments
Assignees

Comments

@thereisnodeveloper
Copy link
Contributor

Checks

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).

  1. 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.
  2. Switch the order of the assignments - make sure the CS50 video is the 1st thing under the Assignment section.

  3. 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

@CouchofTomato
Copy link
Member

@JoshDevHub Do you have an opinion on this?

@JoshDevHub
Copy link
Contributor

@thereisnodeveloper Thank you for raising this issue!

I'm partial to solution 2 for a couple of reasons.

  1. We've generally come to resist placing resources outside of the Assignment section. This would of course conflict with the first idea.
  2. 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.

@thereisnodeveloper
Copy link
Contributor Author

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!

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

No branches or pull requests

3 participants