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

Reviewing concepts - A structural issue with FCC's new course style #48409

Closed
oriooctopus opened this issue Nov 5, 2022 · 3 comments
Closed
Labels
status: discussing Under discussion threads. Closed as stale after 60 days of inactivity. type: feature request Threads classified to be feature requests. Implementation to be considered as a nice to have

Comments

@oriooctopus
Copy link
Contributor

oriooctopus commented Nov 5, 2022

Is your feature request related to a problem? Please describe.

I am really happy to see FreeCodeCamps innovations with their new responsive design course and I have also had the pleasure of testing their new JavaScript course. These courses improve the learning experience in a lot of ways, but I see one main issue. Before I talk about that issue let me give some context first:

The old courses that were replaced were structured in a more traditional fashion. Almost every lesson would teach a different concept, and then there would be one challenge that would reinforce that concept. One benefit here it was that if somebody forgot how to use sub string or how arrow functions worked they could easily find the original lesson that taught it and review the concept. There were still a number of ways it was lacking when it came to the review experience, but at least there was an easily identifiable origin that a user could locate for every concept.

In the new course the easily identifiable origin gets lost in favor of repetition. Instead of there being one lesson for a concept, there are seven steps scattered throughout the course. Instead of 50 lesson there are now 300 steps. Finally, instead of labels like "Use the parseInt function", we just have step numbers.

Here are two questions that I think highlight this structural issue:

  1. Where does a user go to review a concept that they need to brush up on?
  2. What does a user do if they took a break for a few weeks or a few months and don't want to redo the entire course but also don't feel like they're ready to jump back in. This is a common situation that I have personally witnessed that I don't think either the new or the old versions of the course ever had a good answer for.

Describe the solution you'd like

I don't necessarily have any solutions but I do have a few suggestions to start things off. Mainly I want to start a dialogue because while I'm uncertain of the answers, this seems like a significant problem to me. Here are a few possible solutions:

  1. Introduced tags associated with each step. This is similar to the internal spreadsheet already being used and if we ever migrated to a CMS to manage content it could just replace the spreadsheet altogether. A user could then click on the tag and it would take them to the first lesson that introduces the subject. Another optimization that would be tied with this is that we make sure that first introductory step is a bit longer than the other steps so that it functions as a good reference.
  2. Another option that I like a little less is to still use the tag system described above but to maintain a separate set of content that acts as a reference. If a user clicks on the tag then they are taken to the reference as opposed to the original step. This has advantages over option one. I think it allows us to be more explicit and verbose about definitions, but I don't know if we have the resources to maintain an extra set of content especially given how many languages we plan on supporting

Describe alternatives you've considered

see above

Additional context

No response

@oriooctopus oriooctopus added the type: feature request Threads classified to be feature requests. Implementation to be considered as a nice to have label Nov 5, 2022
@naomi-lgbt
Copy link
Member

Introduced tags associated with each step.

This is being tracked in #47478

Another optimization that would be tied with this is that we make sure that first introductory step is a bit longer than the other steps so that it functions as a good reference.

Ideally, each step should take around 90 seconds to read and complete, if I recall correctly.

@naomi-lgbt naomi-lgbt added the status: discussing Under discussion threads. Closed as stale after 60 days of inactivity. label Nov 5, 2022
@oriooctopus
Copy link
Contributor Author

This is being tracked in #47478

That's great.

Ideally, each step should take around 90 seconds to read and complete, if I recall correctly.

I understand the general reasoning behind this, but perhaps we can bend it a bit for introductory steps if that's even the path that we wanted to go? Like for example, an introductory step can be up to 120 seconds. That extra 30 seconds could make a good difference, but I don't think it would mess with the rhythm too much. This is just a thought anyways because I read the other post and I like the search idea

@naomi-lgbt
Copy link
Member

Going to go ahead and close this as stale. The tags are still tracked in a separate issue, and we're always iterating over the steps that create the most friction in the new challenges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: discussing Under discussion threads. Closed as stale after 60 days of inactivity. type: feature request Threads classified to be feature requests. Implementation to be considered as a nice to have
Projects
None yet
Development

No branches or pull requests

2 participants