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

Add a new step 1 to better explain what the pyramid generator is about #54801

Open
hbar1st opened this issue May 14, 2024 · 9 comments · May be fixed by #54885
Open

Add a new step 1 to better explain what the pyramid generator is about #54801

hbar1st opened this issue May 14, 2024 · 9 comments · May be fixed by #54885
Labels
help wanted Open for all. You do not need permission to work on these. new javascript course These are for issues dealing with the new JS curriculum scope: curriculum Lessons, Challenges, Projects and other Curricular Content in curriculum directory.

Comments

@hbar1st
Copy link
Contributor

hbar1st commented May 14, 2024

Describe the Issue

For absolute coding newbies, a 'pyramid generator' will not conjure up anything meaningful and may leave users in the dark about where this project is headed (unless they have the foresight to click on the last step to see the final results), therefore it would be great to demo this in the very first step so everyone knows what the problem/goal is before starting this project.

First discussed on the forum here:
https://forum.freecodecamp.org/t/way-of-learning/689345/4

Affected Page

https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-introductory-javascript-by-building-a-pyramid-generator/step-1

Your code

N/A

Expected behavior

t.b.d.

Screenshots

No response

System

N/A

Additional context

No response

@hbar1st hbar1st added scope: curriculum Lessons, Challenges, Projects and other Curricular Content in curriculum directory. status: waiting triage This issue needs help from moderators and users to reproduce and confirm its validity and fix. type: bug Issues that need priority attention. Platform, Curriculum tests (if broken completely), etc. labels May 14, 2024
@gikf gikf added the new javascript course These are for issues dealing with the new JS curriculum label May 17, 2024
@jdwilkin4
Copy link
Contributor

We could add a drawing at the top of the JS file to show them what they will build.
Then when they start building the pyramid, we could add the actual explanation of what they are going to build.

console.log(`
Let's build a pyramid using JavaScript basics:
    #
   ###
  #####
 #######
#########

`)
Screenshot 2024-05-17 at 10 37 07 AM

Adding more to the explanation in step 1 is going to make it to long.
Unfortunately, most campers don't read directions when the directions are long. They skim through things and miss important details.
So it is best to keep the text on the minimal side when possible.
So it would be better to have the explanation of what the pyramid is going to be about when they actually start building it. I don't know which step that is but is probably somewhere in the 20's

@jdwilkin4 jdwilkin4 added the status: discussing Under discussion threads. Closed as stale after 60 days of inactivity. label May 17, 2024
@hbar1st
Copy link
Contributor Author

hbar1st commented May 17, 2024

Is there a way to show a pyramid similar to how the html/css projects preview their final results at the start of the project?

@jdwilkin4
Copy link
Contributor

Is there a way to show a pyramid similar to how the html/css projects preview their final results at the start of the project?

Short answer, yes.
All of the files are markdown files.
So it would be mean adding HTML and CSS markers to the seed code here

https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-introductory-javascript-by-building-a-pyramid-generator/660ee6e3a242da6bd579de69.md?plain=1

However, this does create a new issue where the console is closed by default for projects that have HTML, CSS and JavaScript.
This issue has not been resolved as of today

#52802

So I am going to tag @ojeytonwilliams because he knows more about the editor then I do and if something like having the console open for HTML, CSS and JS projects is possible.

If it turns out, this is possible then I am for this change.

If it turns out this is not possible, then I am 100% against this change.
because even when we say in other projects, "open the console" a lot, campers don't always follow those directions.

We have seen a huge increase on the forum in campers checking the console more because it is always open and they can see their results immediately on the right hand side.
They are asking better questions about the output and learning about what their code is doing.
By keeping it closed by default, then I fear they will regress to checking it sometimes and go back to guessing what their code is doing instead of seeing it for themselves.

@hbar1st
Copy link
Contributor Author

hbar1st commented May 17, 2024

Another option is to use Jessica's suggestion but to have that intro (to what a pyramid gen is) as the first step ahead of the current "step 1". Unless a step absolutely must have the learner change something in order to allow them to move on?

@jdwilkin4
Copy link
Contributor

Unless a step absolutely must have the learner change something in order to allow them to move on?

It looks like it works locally.
So perhaps it would be the same in production. Someone else from the team would need to confirm that though since I am not 100% sure.

The hints section would just be blank and automated test suite still passes

# --hints--

Test 1

```js

```
Screenshot 2024-05-17 at 12 38 41 PM Screenshot 2024-05-17 at 12 38 54 PM

@ojeytonwilliams ojeytonwilliams removed type: bug Issues that need priority attention. Platform, Curriculum tests (if broken completely), etc. status: waiting triage This issue needs help from moderators and users to reproduce and confirm its validity and fix. labels May 20, 2024
@ojeytonwilliams
Copy link
Contributor

I like the idea of adding a 'preview' step, mostly because it means we don't have to create a special case to handle the one project that wants console output as a preview.

So perhaps it would be the same in production. Someone else from the team would need to confirm that though since I am not 100% sure.

It should be fine in production. The only issue I can think of is that it might not pass in CI, since the tests are expected to fail on the seed content.

I'll have a quick play with this and see if that's the case and, if so, what needs to be done.

@jdwilkin4
Copy link
Contributor

jdwilkin4 commented May 20, 2024

because it means we don't have to create a special case to handle the one project that wants console output as a preview.

Technically we have two projects that fall in this category

The pyramid project and this gradebook app project
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/review-js-fundamentals-by-building-a-gradebook-app/step-1

@ojeytonwilliams
Copy link
Contributor

Ah, good point, I'd missed that one.

I'm not sure it makes sense to create a preview, though, since it would just be some console output without any context. The 'preview step' is nicer, imo, since it can include that context.

Anyways, I've checked the tests and CI should be fine. The kind of challenge you wrote, @jdwilkin4, passes all the tests. Also, if you want, you can skip the hints section entirely.

@jdwilkin4
Copy link
Contributor

ok cool.
We will go ahead with the preview step outlined here

#54801 (comment)

I will go ahead and open this up for help wanted contribution

@jdwilkin4 jdwilkin4 added help wanted Open for all. You do not need permission to work on these. and removed status: discussing Under discussion threads. Closed as stale after 60 days of inactivity. labels May 20, 2024
@jdwilkin4 jdwilkin4 changed the title JS Beta: Pyramid Project should explain (or demo) what a pyramid generator is in the first step Add a new step 1 to better explain what the pyramid generator is about May 20, 2024
@a2937 a2937 linked a pull request May 20, 2024 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Open for all. You do not need permission to work on these. new javascript course These are for issues dealing with the new JS curriculum scope: curriculum Lessons, Challenges, Projects and other Curricular Content in curriculum directory.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants