I tried to do the Java Script course once I was certified in HTML a CSS. I found it didn’t really teach me the principles behind the language. This was a BIG problem. I was really struggling.
Then I did more research and found a book called, “You don’t know JS.” This really helped.
All that to say. I think the Java Script course should be rethought and geared more towards making sure students understand the principles.
I’m fully on board with using project-based learning but I don’t think you can skip the fundamentals quite as much as it feels like the current version of the curriculum does. I would really like to see parts of the old curriculum added to the start of the new one so there is some pure JS as a programming language teaching in place before the project-based learning starts.
That or have the first project be much, much simpler and make sure the fundamentals are drilled into more thoroughly.
It is still very new and being worked on. There is always room for improvement.
I might suggest opening an issue on GitHub. I don’t think you are alone in your point of view.
I think the first project is too ambitious.
If we want to keep it to only project-based learning there should be three or four small-sized projects that teach the very basics and language fundamentals. But I do think the old style is better suited for teaching language fundamentals. I’d say all of the basic JS from the old curriculum would be good to still have at the start.
I agree. I’m part of the latest cohort of Bad Website Club, and everyone (okay, maybe not everyone, but many of us!) feels like there’s a hugely steep learning curve, and without senior engineers to guide and expand upon the very sparse explanations in the new JS project-based curriculum, it would seem quite impossible to me, I’d think. I’m only struggling my way through because I’ve previously done most of the legacy JS curriculum here and other intro courses to JS elsewhere. This is definitely not an effective totally-new-to-JS approach in my, and many of our, opinions in the cohort.
I’ll try to figure out GitHub and where to best make such feedback, as per @lasjorg 's suggestion above as well, though that’s still pretty intimidating as a mostly-new to coding learner. There are some people in my cohort at BWC who are developers/coders in different programming languages who are more familiar with how things work on GitHub, who may be able to help point me in the right direction.
I’ve shared the link with our Discord, maybe that will drum up some more conversation on GitHub about the issues that learners are encountering there.
In broad strokes, I agree with what you’re saying. Personally, I don’t think that having the first project be a game is a problem, I’m much more concerned about the lack of detailed explanations, and the tendency to just copy the solution suggestions to progress without really understanding what you’re doing step to step. This is somewhat mitigated going through the curriculum with a study-support cohort like the BWC bootcamp, but if I didn’t have months of previous JS study under my belt, I’d still be lost, and quite likely have given up and sought instruction elsewhere if only this new curriculum were available.
The re-writes sounds great for the RPG project, and I’m looking forward to the new introductory JS project
I think something that makes the project-based curriculum more challenging is the lack of ability to write lasting comments, since the project code files refresh/load a new version with the progression of each step. As mentioned above, this is the 3rd time I’ve done an intro to JS course (Codecademy, legacy fCC, and CS50), and I’m able to muddle my way through it with help from the Bad Website Club leads, but I find it really hard to keep in mind what each line of code is doing when it gets more complicated. So I’ve shifted to copying the code into my local IDE where I can write comments that don’t get erased.
Perhaps this is actually a good opportunity for the fCC curriculum to model how to write useful comments in the code – learner’s could be given an opportunity to write their own comments in the code, and compare them to an experienced engineer’s example of writing comments, which could load with each new step. Maybe even having a separate file, or a section at the top of the JS file, of pseudocode to refer to throughout the project would be a good way for learners to orient themselves to what each line is doing.