Prerequisites New JavaScript Course

Hello!

I see a growing number of students jumping into the new JavaScript course with no idea about HTML/CSS. You can tell looking at their tries to build the boilerplate in challenge one.

In contrast to the legend course I think you need HTML/CSS fundamentals for the new one, or the students make it unnecessarily hard for themselves.

Maybe add them as recommended prerequisites in the intro text (with a link to the Responsive Webdesign Course) in one of the next updates?

There is some work being done to make it a bit more clear that these are to be completed in order:

https://github.com/freeCodeCamp/freeCodeCamp/issues/50412

https://github.com/freeCodeCamp/freeCodeCamp/pull/51127

https://github.com/freeCodeCamp/freeCodeCamp/pull/52686

Hi! I agree. I think it would be very beneficial to have a module/course before the role playing game that was just Javascript and learning to code a la the prep course for the intermediate bootcamp over at Galvanize.
In my mind, this module/course would cover creating variables, loops, working with numbers/strings/dates, boolean logic structures, functions and arrow functions, and strategies for testing code.

I don’t necessarily have a problem with introducing JS by building web apps. I think it helps people understand how JS is actually used in web development. I do however think that the RPG course appears to be too big and intimidating for an introduction. The last step has almost 300 lines of JS. That’s a lot to keep track of for a complete beginner. Especially since most people aren’t going to go through this all in one sitting. So they are going to stop and come back to it at a later time and have to reorient themselves with everything they’ve done in the preceding steps. That’s a lot of steps.

Personally, I’d like to see several shorter intro courses that gradually introduce more basic JS concepts.

But as to the original topic, completely agree, it should be made clear that you need to know HTML/CSS in order to complete the JS courses.

4 Likes

Have to agree with you Bruce. I completed the modules and when I got to the project i have no idea what to do.
I spent all that time just trying to figure out the syntax, i didn’t learn what any of the functions did or how to implement them on my own.
It was even more complicated by the fact you would jump around the codebase and add parts here and there.
Unfortunately for me it’s left me in uncertainy as to what to do. Do I start over completely and see if i can learn what I’m writing does or am I just unable to grasp it?

imho there is something missing fundamentally in the entire teaching approach, a guiding philosophy or structure.

The examples given are often not concrete, which leaves the syntax unclear

for <condition>:
    <code>

Does the condition take brackets?

The instructions are also to be interpreted literally with no understanding of the logic required. Delete this, type that.

I’d prefer to see a

  1. Concept explained clearly
  2. A concrete example of syntax like you would see in any other tutorial, text
  3. Pseudocode that the learner is to translate into code to complete the lesson.

And this should be consistently applied.

Currently, there is often no need to understand the logic of the code to implement the instructions. Sometimes understanding the logic of the code is actually confusing when the instructions break the logic temporarily to complete a sequence of changes.

This is the kicker. Syntax should be given clearly, and no time should be spent trying to figure it out. Instead of an example, the syntax is often being described in an English sentence, which is vague and difficult to do.

https://www.freecodecamp.org/learn/scientific-computing-with-python/learn-string-manipulation-by-building-a-cipher/step-3

Screenshot 2024-01-27 203526

This is a good example of what I mean.

I hate to criticize all of the hard work that’s been put into the recent updates, but this is what I’ve noticed after answering many questions on the forum.

I know these are Python examples,and now this is way off topic. Thank you for your time :v: