Previously I'd completed and written up some thought's on Free Code Camp's Scientific Computing with Python and Responsive Web Design certifications. I think people found those helpful, so here I am with some thoughts on their JavaScript cert, and hopefully it'll help some people decide whether it's worth it.
First - how long did it take? I didn't really time myself, but I'd estimate about 60 hours. It's a bit hard to say because I spent some of that time *thinking* about coding challenges and some of that time looking at other tutorials when I didn't understand certain lessons (more on that later). There are 7 'learning sections', 2 'scripting challenge' sections, and a final section of 5 projects that need to be completed in order to earn the cert.
Out of the three programs I've completed from FCC, this JavaScript one seems to be the most polished. Like the Responsive Web Design program, everything is done in the in-browser editor, which makes it really easy if you computer hop or can't set up your own dev environment. So I was able to complete a lot of this program with my work computer while on my lunch break.
Because I'd previously learned some Python, I was able to breeze through about 75% of this course. Many of the core concepts are the same, so I just had to learn a lot of syntax differences. There is a Regular Expressions section early on that I had some struggles with, but it turned out to be very important for many of the scripting challenges. In fact, I ended up using RegEx in 2 of the 5 final projects.
Speaking of the final projects, I didn't think any of them were too difficult. The final "Cash Register" project was the one I had to think about the most. But if you could figure out the core functionality of each project, it was easy to quickly finish them. There was no tedious output formatting like the Python cert had. I think these projects were pretty well designed. But most valuable were the basic and intermediate algorithm scripting challenges, which really forces you to use all the concepts you've learned.
Still, I think there are 2 flaws with the FCC JavaScript cert:
First: while most of the program is paced really well, once you get to the Object Oriented Programming and Functional Programming sections, the difficulty ramps up very fast. You are presented with big walls of text and (relatively) big chunks of code to figure out. The OOP section I was able to get through because I'd learned a lot of those concepts in Python, but a lot of the functional programming stuff (especially the .map and .filter functions), I had to just go and watch other tutorials on the subject. Also, I just had a hard time getting recursion down (and I still need to go and find more tutorials on that).
Second: The program is pure JavaScript. Nowhere do you learn how to use JS to interact with HTML & CSS. I think that's a big hole in the program. The next cert is on stuff like Bootstrap and React. So I guess the vanilla JS+HTML stuff is just skipped over?
Aside from that, I think it's a good cert to get (even if the cert doesn't really mean anything). I learned a ton, and I'm glad I did it.
Which one do you suggest better to learn in 2024 ?
“Legacy JavaScript Algorithms and Data Structures” course or “JavaScript Algorithms and Data Structures (Beta) course” ?
because the beta course looks like an improved iteration and it might offer updated content and better learning experiences.
Videos
Any idea? which course should be taken first?
As freecodecamp says courses should be taken in order, but a while ago "JavaScript Algorithms & Data Structures Certificate" was 2nd on the list after the "Responsive Web Design Certificate" course, but now I see "JavaScript Algorithms & Data Structures (Beta)" 2nd on the list.
Hi, so I started going through the JavaScript Algorithms and Data Structures legacy version before the beta came out and it was straightforward because they gave you a tutorial on the subject you were learning. Now in the new beta version they are implementing CSS and HTML and offering no tutorial on how to do things. What is the best way to go about completing this course? doing a CSS HTML intro before the javascript course? or just going along and googling everything as I'm doing the course?
I am close to completing the certificate for this section. When I completed the HTML/CSS certificate, I actually understood and saw the results of my code on a webpage or whatever application it had me working on. During this JavaScript portion I don't really see the results of my code and I feel like I don't know how to apply what I've learned. I only have two questions left in this section and I feel like I don't even know where to start with code to build a application or anything using JavaScript. I understood a lot of the basics, but I'm not sure how to apply it. I'm going to take some other courses as well, just look for some feedback. I'm excited to try to build things on my own.
A few weeks a go I saw a youtube video and I took a screenshot of one of the slides. I it talked about how to get good at js, how to go from framework consumer to framework creator
A side question: is the ability to create a framework (if one wants to) a sign of great proficiency?
Anyway, to get to that level (according to the video) you learn these things in order
-
Language proficiency
-
Data structures and algorithms
-
Design patterns.
I'm a hobbiest so I never bothered with codewars and the like, and just as I used to use jQuery and was "scared" of js, I would ignore the topic of Data structures and algorithms
The I looked at this freecodecamp course and there's:
-
Regular expressions (I actually need to learn this)
-
manipulating rrays and objects (check)
-
Basic Algorithm Scripting (knew all of it - I probably had to google 10%)
-
...
I used to think of Algorithms as things removed from what it takes to build a website. Things (only) scientists needed
Is that course actually correct? Because it really makes me sound stupid thinking it was high math or something.
Data structures are the bread and butter of coding. Any problem I see on codewars or a project in general the first thing I think of is 'how can I turn this into an array" lol.
Algorithms are hugely important. They're the difference between 5 lines of code and 50. You don't have to be a super genius with them, but it helps to make a somewhat complicated problem much easier to handle and solve.
A side question: is the ability to create a framework (if one wants to) a sign of great proficiency?
What do you mean by "framework" in this context?
Is that course actually correct? Because it really makes me sound stupid thinking it was high math or something.
Let's say you have different levels of DSA knowledge
-
Base knowledge for everyday use: Knowing a few structures (arrays, maps, sets) along with their methods and how they work. Have a rough idea of what complexity is and why that 3-level-deep for loop might not be the BIS solution
-
DSA for coding interviews / code challenges: All of the above + knowing graphs, trees, stacks, heaps, queues, along with their algorithms (dfs, bfs...) and solve problems with them. Also be comfortable with recursion, dynamic programming...
-
DSA expert for competitive programming: pretty much 2 but on steroids
Hello Everyone, first time posting here. I'm going through the JavaScript Algorithms and Data Structures and I feel like I'm struggling so much, I try to figure out the challengers but I end up having to watch the videos. I think like my main struggle in the lack of context or maybe it's not finding the solution itself but structuring it into actual code. Every time I see the videos I get it, 100% and I even feel disappointed on myself because what I just saw in the video it made total sense but I couldn't figure it out at the moment. It doesn't happen to me with HTML and CSS. Has this happened to anyone else? does it get any better? lol
EDIT: I'm talking about the bigger a little bit more challenging exercises.
I've been coding for 5 years. Yeah, when I do those problems I still go, "Huh, oh hmm... I have an idea about how..." And then I write out the idea as comments.
Then I do a part, and I output what I've got to the screen to check my progress.
Then I work my way towards the solution. Then I realize I forgot three of the cases... so how do I modify what I have to fit all the cases?
Can't tell you how many times I've done hand -> face when I realize some silly mistake.
They're puzzles, treat them like they are. Most coding isn't that way, but it's good to know how to figure them out. Because eventually you'll think, "Huh, can I do this thing?" And then you'll know you can sit down and figure out your thing.
Which one are you struggling with that you haven't watched the video for yet? Maybe we chat through it and I ask some pointed questions?
Similar for me, I was really lacking the big picture. Ended up just restarting the course. Second time round out made more sense. Had a similar experience with the next course, that time I found another short video course to help me understand it from a different perspective. Just recently got stuck on the frameworks projects, had to try various approaches until it all slotted into place. Seems to be a recurring theme, but every time I just find a way to keep going it eventually starts making sense.
From my experience, just find anyway to keep going, different course/video tutorial/challenge and eventually it will start making sense, well at least until the next time you get lost. I'm starting to feel that it's just time that matters, it all works out if you just keep at it. (I can say this now, but I know my next roadblock is just round the corner).
Good luck
It estimates that it's around 300 hours. But I'd like to know how many hours did it take to other people. Only people that had no prior experience, like me.
Doing the "JavaScript Algorithms and Data Structures" course on FreeCodeCamp. Just finished "Basic Data Structures" section and had to lean pretty hard on some YouTube tutorial videos. Especially for the ones where you have to create your own variables in order to complete the task. Feeling a little overwhelmed by the amount of content I still have to work through before I can even tackle the projects. Have other beginners used this course? Are the projects going to be attainable or will I feel totally lost? Appreciate any insights or experiences that others may be able to share.
Hello,
Newbie here trying to teach myself some new skills. Curious about how others have gone about working around things like this while working through the curriculum.
I wanted to see how other people go about filling in the gaps with some of the things the tutorial assumes the user understand without explaining as if to someone with no experience. I know you can see the solutions by clicking "get help," but I really don't feel it's helping me to click that solution and type the code and I feel like I'm cheating myself.
An example would be this question: Regular Expressions: Find More Than the First Match | freeCodeCamp.org
The example question wants you to use this method:
extractStr.match(xyZ)
But it doesn't tell you that you have to declare a variable before you can use this method, like this:
let variable = extractStr.match(xyZ)
I've tried going back to see if I missed this somewhere before but even on the first lesson using regex it does this. If you go through with a fine tooth comb, you'll find a lot of instances of this same issue--where the curriculum asks you to do things it hasn't shown you how to do.
Is it best just to try your best to solve it and then if you can't, look up the solution and compare your code to it? This is what I've been doing and taking notes.
Not trying to whine or be a baby, just want to make sure I'm actually using the camp right and haven't missed something somewhere. I appreciate any feedback offered.
Not every detail is going to be explained. In the case of how .match() is used, there are lots of examples of it being used correctly but not a full description of how match() works - that can be found here.
A lot of times you won't be able to infer (or remember) all the details of a method from examples. freeCodeCamp is built under the assumption that you have access to other free resources and that when you are confused or just want more information you'll look for it. That's why you'll see lots of references to "Read, Search, Ask"
Class Central currently has a live teacher going through the freeCodeCamp course. Not sure if it’s what you’re looking for, but here’s the link: https://www.classcentral.com/cohorts/js-bootcamp-fall-2022 (it’s free and I’m not affiliated)
Howdy all. I’ve been learning JavaScript for some time now but I still seem to struggle with basic algorithmic thinking and problems.
I’m currently working through the freecodecamp course on data structures and algorithms and I’m doing just “ok”. Some I can get, others I just draw a blank. It’s the same with code wars. I just can’t wrap my head around it.
Those of you who have a good understanding and grip on these concepts, how did you manage to get where you are? Any courses, books or websites you can recommend? What made it “click” for you?
I’m practicing roughly 2-3 hours per night but progress is slow and I’m becoming a bit demoralised.
JavaScript's data structures are confusing, especially if you're like me and you like to experiment by what can be done and what can't.
It's hard to say without knowing what exactly is a problem to you, but I think it would be easier in a different language like Python.
Are Data Structures and Algorithms hard for you as a concept? Or only in JavaScript? Do you have any (even minimal) experience with other languages?
I can also try to explain some basics on DM/Discord via text / screenshots if anyone wants lukkasz323#6869
this for example
I'm currently in Basic Algorithm Scripting section when the new release of JS Beta version appears. It's been months of hardwork, it's frustrating if it suddently going to remove and not earn the certificate. I hope it's not 🥲
I just began the Javascript Algorithms and Data Structures part after finishing the Web Design course and it´s kind of kicking my butt. The basic js was at a medium level for me, but I managed to understand most things. Towards the end things got a bit too complicated and in some challenges I had absolutely no clue how to solve them, so I ended up getting the answer from the forum and making an attempt to understand what was happpening. I feel somewhat dirty for getting the answers on the forum haha, like I´m not learning or I´m cheating.
I have practice with C++ and python so I thought I wouldn´t be struggling so much with js but I am. I know I´m just starting but still, it´s very discouraging. I´m about halfway into the ES6 part and instead of continuing I think I´m going to go back and study the parts I had trouble with. Sorry if this isn´t very relevant, I just wanted to express myself a bit.
JavaScript, while easy to get started, takes a while before things click.
Mostly because new things are added every year (you might see ES2016...ES2021...) Those are informal names for the new stuff.
I highly recommend doing Wes Bos JS30. (It's free). Wes shows some really simple JS projects that makes you feel like a magician. His paid courses are really good too.
Learn what JS can do and the patterns. And keep finding small JS projects to work on. Rooting for you!
A million times yes. Granted, I haven't started on the JS portion for free code camp but I have some background with Java and have tried my hand at building things with Javascript and for some reason I find myself twiddling my thumbs or my brain just goes blank. I don't know what it is about Javascript but I find Java to be A LOT easier.
I've learned more from the newer Beta course.
I was able to solve most questions easily but some, especially the questions of the last 4 challenges I had to look at the solution or watch a video to solve it.
No you cant bang your head until you get to the answer with these because the writer doesnt tell you which code you COULD use, any example they give isnt helping.
The forum helpers are a different issue which isnt helping my problems with the code.
I just got offered a great opportunity, but I would have to complete the certification (without the ES6 and the projects) by January 9th. I took a class in C++ a while back and got an A, and am currently in a course on Python that I'm doing well in. Right now it seems like too big of a task to accomplish in this short of time frame, but please share your experience/advice with me!
Edit: I understand that everyone learns at a different pace, I'm just curious if it usually takes people around 300 hours.
Why wouldn't you want to get the ES6? It's worth it to learn, I couldn't live without the arrow functions or let/const
Anyway, I'd go for it. Worst that can happen is you learn a bunch and don't get the job. Better than not learning anything and not getting the job, right?
If you have previous programming experience, I bet you could do it in half to a third of the time.
300 hours was an extreme overestimate for me, and I had no programming experience prior to JavaScript. I probably finished it in like 30-40 hours.