Purpose This is a review of the first 25 hours(*) of FreeCodeCamp. It's a name that comes up here quite a lot, as a course recommended for beginners. Specifically, it teaches front-end and back-end web development, wholly in the flavor of javascript.
It has consistently (and very noticeably to me, as I lurk here most days) received a lot of praise in the comments threads on here, to almost any "Should I try FCC" type threads. In fact, the comments threads have been so uniformly positive that it aroused my suspicions that it was potentially astroturfing. That wasn't a grudge against FCC. It was really a product of innate spidey-sense that the internet develops in many of us, plus a more personalized scepticism: There's so many courses out there, how could this one be so good? And specifically, could it really claim to be a "one stop shop" for an aspiring learner?
This scepticism was heightened recently when FCC started an ad campaign (on Reddit) saying no one finishes their course because they all get hired before they finish!
Well, having decided that I have some unfinished business with my own (toehold intermediate) javascript learning, I decided to have a look.
(*) This review covers the first "25 hours" of FCC. That excludes the 50 hours allocated to (the first) two (of many subsequent) personal projects - building two (extremely) basic websites. I've done enough of that, so I skipped over that bit and followed the curriculum. The 25 hours is the estimated course time allocated by FCC to that part of the curriculum, and includes:
-
A little bit on onboarding
-
An introduction to HTML and CSS (5 hours)
-
Introduction to Bootstrap (if you haven't heard of it, chalk it up as more CSS really) (5 hours)
-
jQuery (3 hours)
-
Basic javascript; and OOP and functional javascript (10 hours; 2 hours)
(For any total newbies reading this, these are the elemental building blocks of making things visible on the web, and is the foundation to a career as a front-end web developer or tinkerer as well.)
Proof of completion of these units: http://imgur.com/AvRYzFb
Background I have been teaching myself code for about a 15 months, but with a very long break of about 10 months in between when I had to turn to a consulting project in my other occupation. I did no learning or practice at all in that period, so all told it's about 5-6 months of leaning, in my own time.
For the purpose of benchmarking, I'll set out roughly what my learning curve looked like:
-
A couple of months with Treehouse and Codeschool
-
Read a few books (the two books by Jon Duckett, and some other books on Javascript)
-
After that (and in conjunction with continuing reading), built a bunch of projects based on some $10 coupon courses I bought off Udemy, and sourced on YouTube (very good source if you are prepared to sift through a lot of dross)
-
Probably around the same time as this, headed over to Codecademy to fill in some gaps on my jQuery and JS OOP especially - did the whole thing and flew through the bits I thought I knew
-
Continuous - bits and pieces as I need them in Bootstrap and specialist CSS topics etc, sourced from all over the place - eg Linda.com, more YouTube, more Udemy
-
Did a bit of Udacity on Git and learned the command line somewhere along the way.
-
Build a bunch of websites off my own initiative along the way, almost continuously - many of them simple, even silly experiments really (can I get an array to pop up like this on a screen) - these have been very important
Anyway, I'm not here to show off my progress or do a victory lap as I haven't got a job yet, so all this is really to set out what I approached FCC with. I believe I'm fairly well acquainted with what's out there, both if you spend some cash and for free.
Review
FCC is a very fine program and I would recommend it unhesitatingly to anyone as either a starting point, or anyone who is looking to consolidate their initial education in front-end webdev gained anywhere else. However, it should be pointed out (and it does not qualify the previous recommendation) that -- based on what I have seen -- I very much doubt that it is a one-stop-shop to getting hired. But stop chasing that unicorn anyway. It's fantastic and your should do it.
I flew through the course reasonably quickly as you'd expect, on and off over a handful of days in the last week. The time estimate of 50 hours for the material I mentioned above is about right if you're a total noob taking on these concepts for the first time.
This section of the course gives you some very early satisfaction in seeing you put some results up on the web. You'll gain (just barely) enough information to have a genuine web page up on the internet with some basic styling.
These initial units in HTML and CSS (and Bootstrap) are nothing more than the basics however. The same goes for the jQuery module. You're taught just the bare minimum to scrape something together to put up on a web page. The instruction however is incredibly shallow, and the concern I have is where anyone gets real skill in CSS sufficient to know really anything about what they're doing. I don't recall, for instance, anything about the concept of floats being discussed. I think someone relying solely on this instruction would lack a basic vocabulary sufficient to be able to imagine what CSS is really about.
The same could be said of the Bootstrap and jQuery material. There is no doubt this leaves you with a ton to learn. While that is true of any course of instruction, this material really does only just scratch the surface. While Codecademy's jQuery course gets you into toggle menus, dropdowns and carousels, you won't find those possibilities even hinted at in this material. It's all $(.class).css("color", "red")
I have two takeaways here. One paradoxically is: it is great that they introduce Bootstrap and jQuery so very early in the program. In my experience, I spent more time in a state of anxiety about these big features approaching on the horizon, than in took actually to learn the basis of them. It really is great to give you a taste of these up front and get that anxiety out of the way.
On the other hand, I did not notice any further material in the course at all on those topics (save for jQuery events and AJAX a little bit later). On the CSS side especially, the course leaves you with a huge amount to learn on your own steam. Of course, some of this may well be picked up in the personal projects you need to make as you progress, but you are going to have to acquire that knowledge on your own, and you may lack even the basic frame of reference as to what the possibilities are.
On the javascript side however I think the course is superb. I haven't seen dedicated material on events handling -- this seems to be left entirely to jQuery. So again, a bit of a blackspot there, but that's an easy enough one to fill in.
But what is here in the javascript sections is really, really solid. There appears to have been a huge investment of focus in programming details that many others skip over or miss out - you do a lot of array methods for instance, and then you apply these in some really interesting and quite challenging algorithm tests, like this one:
// my solution code for "Factorilize the number 5
function factorialize(num) {
var factor = 1;
var numOfFactors = num / 1;
for (i = 1; i <= numOfFactors; i++ ) {
factor *= i;
console.log(factor);
}
return factor;
}This is a really fantastic little program to be writing at only ~50 hours of instruction in! And the course drills dozens, even hundreds of these tests. This was the actual attraction to me for doing FCC at this stage, being to fill in some of these gaps in programming analytically like this.
These little projects may seem quite abstract, but when it comes time to make your own programs, and you're looking blankly at an array thinking "how do I get these things to appear this certain way in this order on the screen", it is stuff like these challenges that will really sort you out.
Conclusion I highly recommend it. FCC is not a one-stop-shop and I have to say I don't think there's a one-stop-shop in existence. I don't think there can be. (Here, for example, is a NINE HOUR course just on CSS page layouts: https://www.lynda.com/Web-Interactive-CSS-training/CSS-Page-Layouts/86003-2.html.). No one course simply "has it all".
If you're a beginner and you're asking "I'm interested in web development, should I try FCC", my answer is unequivocally: Yes.
However, if you're asking "Should I do FCC or Codecademy or [otherCourse]" my answer is, do them both.
I mean, it's obviously free of charge, but does it make me hireable? I already am going to school and I'm learning coding, but the teachers are just... How is it that I can understand the explanations better at freeCodeCamp than at school? I kind of want to quit school and stop paying for it and make it on my own, but I know that there are probably many employers that are like:"YOU NEED A DEGREE!!" no matter how good my portfolio is.
Has anybody ever gotten a job only with freeCodeCamp? It seems really good. It's better than Udemy etc. Tell me your story, please.
My education came pretty much only from FCC. I just got done with my first week as a full stack web developer. It definitely can be worth it.
That being said, as others have mentioned knowing your way around git and github and having your own personal projects there are a must.
I've heard a lot of people say it's worthless and others say it's amazing. It's really personal preference. No doubt though that a degree will help you more than any online course. Also, no one source will be enough to make you hireable. You probably need to go to school, get a degree, build tons of personal projects, learn new tech on your own, etc etc. Just doing one of those things isn't nearly enough to gain the experience required to be successful.
Videos
Right how I’ve been stuck on one specific sector of beginners JavaScript on the Odin project, I’m considering supplementing it with FCC, but I see so many negative reviews that’s I’m hesitant to give it a shot. What’s your honest opinion of FCC?
Honest opinion is dont be afraid to give a resource a shot just because it didnt work for someone else. There are so many resources out there, and not everyone learns or likes to learn in the same way....one persons best of all time can be anothers worst experience.
That being said, Im a huge supporter of FCC, cause it was the first thing I came across that actually helped me learn and put me on the track that helped me get to where I am now. The reason I love it, is the same reason some people dont. FCC doesnt hold your hand and do everything for you. Its not like following a tutorial or just plugging in whatever code it tells you to. It gives you a goal problem to solve, and is layed out in a way you have to do read docs and do research so when you complete a task, you actually understand what it is youre doing.
Also, the community is engaging and super welcoming and helpful...I made a goal when I started to give back, because I got so much help along the way. And I felt amazing the first time I was able to help someone else out. Teaching is also a great way to learn, because I would often look things up to get a better understanding while trying to help someone else out with a problem.
Im now coming up on 3 years in the industry, and literally.....everyone who asks about my path gets an earful about FCC, cause it really made a huge impact and means so much to me. And doesnt bother me at all if someone else totally hates it. Thats why there are so many different resources, and also why FCC encourages people to get their hands on other resources too...no one source is going to make everything you need to learn click in place.
So yeah, thats my opinion....give it a try, either you will like it, or you wont. But just cause someone else loves something doesnt mean its your only hope and feel discouraged if youre struggling, and just cause someone else hates it doesnt mean you should feel awkward for thriving. But you wont know unless you try....and I kinda feel like its worth it to at least try.
I think their Youtube videos are some of the best and really nice for just getting some of the fundamental knowledge and such
I like JS a lot, at this moment it is only my hobby, in the future I would like to work as a programmer.
Is it worth to learn with freeCodeCamp? There are some better alternatives?
Today I completed the below 4 certificates on freecodecamp.com, I was able to do them( about 650 lessons ) in about 3 months ( by giving 1 hr each on weekday and 2-3 hrs on weekends, though I wasn't regular always )
Link to my profile in case wanna see my heat map, I have tried to be as regular as I can
- Responsive Web Design
- JavaScript Algorithms and Data Structures Certification
- Front End Libraries Certification
- APIs and Microservices Certification
Below is my experience and things I learnt
Even though I am not a beginner, I have worked in Java ecosystem creating web applications.
But I was quite new to JS, in past I had only used simple JS statements like document.getElementById('').value to get values of fields in form and making a AJAX call to some API using them. Before this, I had worked on my company's own JS framework where we had all scaffolding and everything laid out to us so that developer didn't need to interact with low level stuff themselves.
In short I didn't know how to build things from scratch myself.
Responsive Web Design
Topics learnt - Basic HTML, CSS, CSS grid, CSS flexbox, Applied Visual Design and Applied Accessibility courses
I knew lot of stuff from this learning path(basic HTML and CSS).
What I found helpful was Applied Visual Design and Applied Accessibility courses. They are important for making sites that is accessible by everyone. Being a good programmer is not just about making stuff for ideal condition. Things we make should be resilient enough so that they work in non ideal conditions and user still able to use our application. I also liked learning about color theory, how to choose colors for your website, how much contrast you should have between your text and background for readability.
I learnt CSS Grid and CSS Flexbox. Firstly I did a course on Scrimba.com Learn Flexbox This helped me understand basic syntax. Its easier to start with someone explaining the concept to you than you just reading a bunch of text. Next thing I did was I went through CSS-Tricks.com A Complete Guide to Flexbox I went through each CSS property and filled in the missing gaps which the above tutorial didn't cover.
I followed similar approach for CSS grid i.e. first watched videos on Learn CSS Grid and then read A Complete Guide to Grid
The projects at the end of the path were fun to do.
JavaScript Algorithms and Data Structures
Topics Learnt - Basic JavaScript, ES6 syntax, Regular Expression, Object Oriented Programming, Functional Programming and debugging
I was really looking forward to this topics as it had all the real world programming stuff. I knew basic JS with few gaps here and there. I didn't knew much about object oriented programming in JS other than creating basic objects through object literal and assigning values to their properties and using them as place to store things.
Even though ES6 was released almost 5 years back, still all these syntax were new to me. I learnt many things like arrow functions, default parameters, let vs const vs var, Destructuring Assignment , rest and spread operators, class syntax.
Functional programming especially the array methods taught me how to do things concisely and without changing the array we are working on. It feels good to accomplish things with so less code after using them.It taught me how Functional programming taught me to reduce bugs by making predictable pure functions by avoiding the change of input arguments and making functions that don't have side effect(don't change other variables/properties that are outside your function).
The problem solving challenges were not too tough and I was able to solve most of them without any difficulty. These lessons wouldn't teach you Data Structures and Algorithms required for cracking interviews(better use leetcode or hackerrank for that) but the everyday problem solving skills.( These tutorials are meant for beginners to start building things and not to do bog them down by teaching theoretical stuff first )
I didn't use any other tutorial for this path as it itself was so big. Though I would like to go through JS MDN guides in future to cover my knowledge gaps.
Things I would want to study more - Asynchronous Programming ( promise, async, await ), learn more about the tricky stuff like closure and JavaScript idiosyncrasies.
Front End Libraries
Topics learnt - Bootstrap, jQuery, Sass, React, Redux
I had completed the courses for Bootstrap and jQuery in 2018. I just went through my notes once in order to review them.
I was excited to learn React and was amazed by how some of the things are so simple to do. I learnt about JSX, two types of components - stateless functional components and class components, how to use props, how to communicate between child and parent component.
I feel I have gaps in my knowledge, these tutorials are good to give you a introduction but if you wanna build real world stuff you need to dig deeper by going through React official documentation.
Still they have provided me enough knowledge for me to know where to look for what things and be able to understand official docs. Its about learning how to learn :D instead of learning that specific thing.
I built all my projects in React in order to improve my react knowledge. Some of the projects like 25 + 5 clock timer were really tough to get their tests right as there always off by 1 error. ( But we learn only from the tough things :p )
I would like to share few projects that we were required to make in order to get this certification(all of them were very interesting functionality wise as well).
-
Pomodoro Timer
-
JS Calculator
-
Drum music playing machine
-
Random Quote Machine
APIs and Microservices
Topics learnt - NPM, Basic Node and Express, Mongoose
I was finally was able to create my much hyped REST APIs :P
I discovered that I do not need to install anything on my laptop and I could code everything online. I was using repl.it as my online IDE and used MongoDB cloud atlas for my database. I really enjoyed being able to host my projects online without much effort.
This didn't cover much about Node.js and I am planning to learn it own through their official documentation.
I went through ExpressJS Tutorial to get better understanding of Express.
The tutorials didn't cover a lot of things which is kind of expected if you have reached so far, you should be able to Read, Search, (Don’t Be Afraid to) Ask on your own.
I enjoyed doing the projects especially the URL shortner( it feels good to bieng able to make something that could be useful in real life).
I also plan to do Quality Assurance Certification to learn more about unit testing and some more Node.js
I would like to share my notes which I created while going through the courses on below topics.
Responsive Web Design Certification: - HTML5.txt - CSS.txt - Responsive Web Design Principles.txt - Applied Accessibility.txt - Applied Visual Design.txt - CSS Grid.txt Javascript Alogrithms and Data Structures Certification: - Baisc Javascript FreeCodeCamp.txt - ES6.txt - Object Oriented Programming.txt - Regular Expressions.txt - Debugging.txt - Functional Programming.txt - Basic Data Structures.txt - Basic Algorithm Scripting.txt Forent End Libraries Certification: - Bootstrap.txt - jQuerry.txt - Sass.txt - React.txt - Redux.txt - React and Redux.txt API and Microservices Certification: - Managing Packaged with NPM.txt - Basic Node and Express.txt - MongoDB and Mongoose Challenges.txt
Things that are important in real world but are not covered:
-
How to write clean code - how to divide your code into small logical functions , how to write good variable names and functions names that convey what they are doing
-
How to debug using chrome dev tools : Google Chrome Developer Tools Crash Course Video
-
How to navigate and perform basic file operations in Linux
-
Version Control : Git
-
How to document your code, how to follow syntax and other common practices
-
How to create models/solutions for real world/abstract problem domains
I am planning to go through the things mentioned in below sites and fill my knowledge gaps. They provide a good checklist of things we should know as a front end developer.
- JS Interview Checklist (https://js-interview.com/javascript-interview-preparation-checklist/)
- Front End developer Roadmap (https://roadmap.sh/frontend)
- React Roadmap (https://roadmap.sh/react)
I would want to dig deeper into react by going through the official documentation, go through Node.js official documentation and probable learn GraphQL (an alternative to REST API)
Though all this seems to be an ambitious plan :)
Probably one of the most informative posts for beginners on a language I've seen. Well done thank you for the help, I will check out all the links you've posted
Great job! Just a note: I train new devs to get jobs with LinkedIn and other platforms. I'd recommend to you and all other devs tonot out free code camp certifications on your profile.
Can freecodecamp teach you how to code? Absolutely!
But are these "certificates" worth anything as far as "proof" for a potential employer? No. There are probably only 2 or 3 software dev certs that legitimately mean anything to potential employers (ASW, and Oracle certs come to mind), but putting a "certification" from a course that you found online isn't considered "proof" because anyone could Google the answers to these questions and exercises. This is definitely dumb, because in theory, someone can Google their way through a college degree too, but I'm just telling you what's what from my experience, senior dev friends who interview people, and technical recruiters that I consult with.
It's an amazing feat that you've accomplished in 3 months! You'll just need projects now - completed, well-documented projects that a potential employer can look at helps new devs get jobs. They prove to an employer that you know how to do the things you say you know how to do.
EDIT: Because I'm getting so many questions both here and in my DM's, if the mods will allow it, I wanted to post a link to my next live webinars. They're only $4.99 (I know money is tight for EVERYONE right now, and the money goes towards helping the homeless youth that I teach. The first webinar is on assisting devs that are looking for a job in the current market to land one with LinkedIn. I've specifically created a second one in three weeks just for you guys - one that goes over what a new dev needs to know, to bootcamp or not to bootcamp (or college, or an associates degree, self-teaching, etc.).
I'm a complete beginner and have tried both Codeacademy and FreeCodeCamp (HTML). I'm unsure about which of the two I should choose. I really like the features Codeacademy offer, but is it worth the money?
Hey everyone,
So I am beginning my journey to learn programming as jobs are opening up at work. And I really want to progress my career.
Now the basic list I want to go down to secure at least a secondment to this new job is
HTML CSS JScript/JQuery C#
Now a few people have recommended CodeCademy, Free Code Camp and also the Odin Project.
I have heard best things about FreeCodeCamp and quite bad things about CodeCademy - As it is apprently to hand holding and doesn't give you the skills to go away, set up a dev environment and create somehting. More just teaching you syntax.. So that is off the table.
Now have any of you used FreeCodeCamp? Will it be worth it to go through this course? As I am kind of scared of being left only with syntax reading skills. Rather than practical knowledge.
Do any of you guys have experience with FreeCodeCamp or even the Odin Project?
I have Googled around and they both seem very indepth! But what do you lot think? Are they going to give me useful skills to go away and maky my own things? Or will I be left with Syntax reading skills only :)
Free code academy is really code at teaching the raw skills, but you need supplementary education/ lessons on how to actually code a website.
What do you guys think?
I have a way to go before finishing the certifications on FreeCodeCamp, and I figure it can't hurt as an intro to coding skills. And it's free. I'm not sure yet exactly what direction I'd be going in after finishing the modules. I started it to get some basics on web development and to check out what data analytics was about, so I could decide what I might want to go deeper into.
I know that FreeCodeCamp is pretty basic (at least at the modules I'm at) and it isn't a replacement for a CS degree. Probably it isn't even a replacement for a bootcamp. But, has anyone found success with finding employment using the skills and portfolio they acquired through FreeCodeCamp? Is it taken seriously by employers, as long as you can present to them that you did learn the skills and can work with them to a certain level? Is there something that you would suggest I do after to become more "hireable" once I decide which specialization I want to focus on? I don't want to do a degree (both for time and finance purposes and I have a BA in an unrelated field) but I'd be open to some other type of courses or certifications that would boost my skills in the future and make my CV seem more "professional"?
Hi! quick question <title text here>.
Or are there better places to serve me some learning? I have heard of the Odin project but from what I gather alot of their material is pulled from or linked to other sources anyway.
Also, I don't have much interest in also learning Ruby ontop of HTML/CSS and JS right now. That's already alot to digest.
Any thoughts? Thanks :)
I have just came across very strange thing...
Noticed relatively new course on Youtube: Python API Development - Comprehensive Course for Beginners on freeCodeCamp.org channel.
Used to be a big fan of Python and a few years back would kill for such a course - it looks really good from Python perspective....
But then I learn about GraphQL and discovered Hasura and now believe in 2021 it is best way to make API (using Hasura online service and Heroku free tier you can have a working API in 30 seconds! literally! - if you know Docker you can setup API on your VPS server in couple of hours)And all the features Hasura is offering are just mind blowing (eg. you can convert graphQL queries into REST end points, you have granular, role based access control...)
So I wanted to share my opinion in the course comments section. Made a comment which to my surprise disappeared in a few seconds!
I thought it was some sort of technical problem of youtube comments module so made the comment again. (tooka a screenshot this time) And the comment dissapeard again. Whats interesting my comment/question "Why comments are deleted from here?" is still there - was not deleted....
My second comment deleted from Youtube:
"Looks like a great course but in 2021 one should consider API in GraphQL. Open source project: Hasura provides GraphQL API hosted on free tier of Heroku in 30 seconds. Hard to believe if you not try it... It is on Postgres DB. You can have working GraphQL in a small fraction of time to watch such 19 hours course..."
Is it possible to set auto moderation for comments based on some keywords?When you post REST API course can you set it up so all comments with GraphQL (as better alternative to REST) are being deleted?
Anyway it all feels so wrong...
I really liked quality of freeCodeCamp content... and trusted their intention to provide best possible education... But now it looks like it is profit oriented organization. Their Youtube channel brings them revenue so they eliminate all competition, like in the commerce world... (in this case - keeping people in dark so they can make money.... is like really.... low)
What do you think? Am I wrong? I would like to be wrong...
EDIT:
To clarify... It is not a discussion about what technology is best and how good is the course (it actually may be really good on the subject, but it is not the point here...)
I am apparently wrong, but before I considered freeCodeCamp as a non-profit, educational organization. For good education essential is no bias and impartiality. When you make a course about some technology or subject, I do not expect to analyze all other technologies existing, I do not expect to compare to all others... but why to silence a voice that other options exist?
This is a course for beginners. For people learning basics. There is high probability such people do not know all the options they have (I know that from my own experience).
In what way it is honest to deny them from knowing all other options they have? Why do not let them choose for themselves????
That is why it is SCAM for me when I experience such behavior from non-profit, educational organization...
I'm looking to become a full stack developer, and have been referred to The Odin Project, and Free Code Camp.
Which would be recommended? Which is best?
Would both of them be accredited and recognised by organisations and companies?
I'm looking to become as employable as possible after it...
For those who don't know, FreeCodeCamp is a free (duh!) learning platform for coders. It currently offers 11 certificates. Most focus on web development, but there are a few Python certificates as well. Earning a certificate works like this: there are a series of interactive lessons, and then there are 5 projects to complete.
It took me many months, but I completed all 11 certificates (55 projects total). Here's a quick review of each certificate, and if you have any questions, feel free to ask!
Responsive Web Design Certification
This is probably the most polished certification of them all, and it’s one I recommend to anyone considering going into front-end web development. It covers HTML and CSS for beginners. There’s a lot of repetition, and the projects are integrated pretty nicely into the curriculum to help all the information stick a little better.
My only real criticism is that the CSS lessons can feel like you’re being told *what* to do but not *why*. And afterward I had to find other tutorials on Flexbox and Grid to understand that content better. But I don’t blame FreeCodeCamp much for this because, honestly, CSS can feel pretty counterintuitive no matter what.
Prerequisites: None
Difficulty: Easy
JavaScript Algorithms and Data Structures
This certification acts as a good intro to programming concepts and a guide to working with JavaScript, and I think it does a very good job of teaching the basics (variables, loops, conditionals, etc.).
However, there’s a certain point - about halfway through - where the lessons quickly become much more difficult, and I’ve seen a lot of people struggle. I think this certificate could be improved be flatting out the learning curve.
Fortunately, you really don’t need to know OOP, advanced array method, or ES6 in order to complete the certification (though you will definitely want to learn this stuff at some point). And I think the projects are all good challenges, not too easy and not too difficult.
Prerequisites: None
Difficulty: Medium
Front End Development Libraries Certification
I have to mention here that my biggest gripe with the FreeCodeCamp curriculum is that it completely skips over teaching basic DOM manipulation with JavaScript. Instead it jumps right from JavaScript DS&A to Front End Libraries, so you’re probably going to want to find a tutorial or course somewhere on DOM manipulation. Otherwise this certification is going to be ten times harder to complete.
The lessons begin with an overview of Bootstrap, JQuery, and SASS. They’re a little short, and if you really want to learn these libraries you’re probably going to have to find a more in-depth source.
After that you learn React and Redux. These lessons are not only difficult, they’re also fairly outdated at this point (it only teaches the older ‘class component’ version of React) . If you want to learn React, it’s probably best to find a more updated tutorial.
The projects are not too difficult once you've learned a framework, and you don’t have to make them too flashy.
Prerequisites: Responsive Web Design, JavaScript Data Structures and Algorithms
Difficulty: Medium-Hard
Data Visualization Certification
I have a love-hate relationship with this one.
Here you learn the D3 library (used for creating graphs and charts on web pages), as well as the basics of fetching data from APIs. Compared to the previous certificates, there aren’t many learning modules. You get to the projects pretty quickly. Once I got the hang of things, I had a blast making them. These might be my only projects in the entire curriculum that actually look good. I just really enjoyed taking a ton of data and then compacting it into an easy-to-understand visual.
On the other hand, it seems like whoever wrote the lessons and whoever designed the projects didn’t communicate very well, and this caused me a lot of frustration. For example, the D3 lessons show you how to create a tooltip, which (you’d think) is a good thing because every project requires the use of tooltips. Unfortunately, the projects require you do create tooltips in a completely different way, which you might not realize until after you spend tons of time debugging. There’s also an instance where an entire library is needed to complete a project, but the nowhere in the certification is this library mentioned at all.
There's a lot of frustration in this one for no reason. Add that to the fact that D3 isn't typically used in most web development jobs, and I'd say this certification is skippable. But if you do skip it, you'll probably still want to learn how to use APIs somewhere else.
Prerequisites: Responsive Web Design, JavaScript Data Structures and Algorithms, Front End Development Libraries
Difficulty: Medium-Hard
Relational Database Certification
This is actually my favorite certification in the entire curriculum. It’s taught very well with a lot of repetition, and the projects are nicely integrated within the lessons. I learned so much.
This certificate teaches the basics of relational databases (using PostgreSQL), of course. But also nano, bash, and git.
I highly recommend this one.
Prerequisites: JavaScript Data Structures and Algorithms
Difficulty: Medium
Back End Development and APIs Certification
The lessons offer a pretty broad overview of Node, Express, and MongoDB, but it gives you enough knowledge to complete the projects.
For the projects, a boilerplate is provided with a completed front end - you just need to complete the back end. Four of the 5 projects are microservices, some of which can be completed pretty quickly.
I didn't think this certification was too difficult at all, but I also didn't come out of it feeling like I understood Node/Express/Mongo very well.
Prerequisites: JavaScript DataStructures and Algorithms
Difficulty: Medium
Quality Assurance Certification
There are two learning components to this section. In the first you learn how to write functional and unit tests with the Chai library. This doesn’t take too long to get the hang of. The second is a series of lessons on “Advanced Node and Express,” and honestly this has nothing to do with this certification. You do not need this “Advanced Node and Express” section to complete the projects (though you will need it in a certification down the line).
The projects are very similar to the ones found in the Back End Development and APIs Certification, except they’re all more complicated to build. One of the projects here is a “Sudoku Solver” where you actually have to write an algorithm to solve Sudoku puzzles! Once you have the projects built, you need to write tests with Chai, and, funnily enough, that’s the easy part. Writing tests actually becomes tedious by the end of this certification. But creating the logic and routes for the back end is still kinda hard.
Prerequisites: JavaScript Data Structures and Algorithms, Back End Development and APIs
Difficulty: Hard
Scientific Computing with Python Certification
We take a sudden switch to Python, and I need to say that I do not like FreeCodeCamp’s Python certifications very much. The lessons are no longer very interactive. Instead, each lesson is just a 10ish minute YouTube video with a quiz question tacked onto it. It’s a difficult way to learn.
That said, I’d describe this certification as more of “Python for Beginners.” A lot of topics are covered, but I’d say 50% of it isn’t needed to complete the projects. And the projects - oh, boy - I hated some of these projects. Some have unclear instructions and, worse, some have the most tedious outputs you’ve ever seen. Honestly, be prepared to count white-space between elements.
I never want to think about the Budge App project ever again.
Prerequisites: None
Difficulty: Medium-Hard
Data Analysis with Python
Here you learn about the Python libraries that are heavily used in the sciences: NumPy, Pandas, and MatPlotLib.
Again, it’s all taught in videos, but the projects are much more straight-forward (the only issue is that they have to be made in Replit, which has its issues). Honestly, I’d describe this one as learning Excel on ‘Hard Mode.’
Prerequisites: Scientific Computing with Python
Difficulty: Medium
Information Security Certification
This is an odd one because half of it is back-end web development, and the other half is learning a couple of new Python libraries.
The Python stuff is interesting. It's still video lessons, but I found two Python-related projects are actually pretty easy.
The back-end stuff is mostly about learning HelmetJS, a library that helps secure websites. However, the back-end projects are all very tough. Two of the projects are similar to the ones found in the Quality Assurance Certification - you have to build an Express, Node, Mongo back-end, add testing using Chai, and now also add security with HelmetJS.
The final project, Secure Real Time Multiplayer Game, is another beast entirely. It’s still mostly a back-end project, however, you also have to find some way of learning how to make a game using the Canvas api (this isn’t taught by FreeCodeCamp, you need to find a tutorial elsewhere). And remember the Advanced Node and Express lessons from 3 certifications ago? You now have to use SocketIO to make the game multi-player. This one took me a good amount of time to complete.
Prerequisites: Scientific Computing with Python, JavaScript Data Structures and Algorithms, Back End Development and APIs, Quality Assurance
Difficulty: Hard
Machine Learning with Python Certification
Aside from the fact that I still don’t like the Python video lessons, this one wasn’t too tough to complete. You basically get an intro to TensorFlow and a bunch of ways to use it.
The projects are mostly straight-forward, and you can find lots of tutorials online that will help. However, there’s one project that isn’t *at all* covered by the videos, and there are some projects that don't have the clearest instructions. So there’s a lot of unnecessary frustration involved with completing this certificate.
Prerequisites: Scientific Computing with Python, Data Analysis with Python
Difficulty: Medium-Hard
Hello experienced programmers, is freecodecamp actually worth something if I want to switch profession?
Currently I work fulltime in construction, but I’m learning html, css and JavaScript (after that React, firebase, node.js, react query, tailwind css & vercel.
To get a full stack skillset. I like coding, and I want to pursue a career as freelancer / entrepreneur (my own projects)
I was wondering, is freecodecamp + portfolio worth something ? Or is a degree more important?
Hi all!
I recently started learning basic web development on the FreeCodeCamp (FCC). While looking through this sub, I found The Odin Project (TOP). Now I'm at a loss as to which resource to focus on.
I've been going through the fundamentals of HTML and CSS in FCC the past 2 weeks. Unfortunately, I only have 1-2 hrs daily to learn, so I want to make the most of my time to land a front-end dev position asap.
I would also appreciate if y'all could give me tips/suggestions as to which other languages/frameworks to learn after I finish HTML, CSS and JS.
Thanks!
Edit: I really appreciate everyone's input! This post has gotten more popularity than I expected, so I'm sorry if I did not reply to you.
I've tried Codecademy but I like to hold your hand through all the courses. I'm looking for a program that is really efficient in teaching me these skills and freeCodeCamp always popped up in conversation.
Are the free code camp courses good for learning Web development, dsa and other things. Do there certificates have any value Seen some reviews some say they are good for beginners and some say that they create a sort of illusion for you that you are learning something.
Can someone tell me about there experience on it . And also please suggest some good free resources to learn JavaScript and backend Web Dev.
I've been using freecodecamp because it had a lot of classes for different subjects but I've seen some that are different, should I use another one or is it good?
I ask this question in terms of a serious career change.
I have a 2 degrees in Engineering (design and mechanical), however I've not had much luck in terms of landing a full time jobs and surviving the 'cost-cutting' season in companies.
I decided, in terms of what interests me and as well as future proofing with job security in this day in age, I need to choose something software related, this is where my freeCodeCamp journey starts.
I have almost finished the Responsive Web Design Certificate. I am halfway through the Javascript Algorithms and Data Structures. I am also about halfway through the Scientific Computing with Python certification.
I also have the following planned to complete: ● Front End Development Libraries ● Back End Development ● Information Security ● Machine Learning with Python
I seek your advice as I have no Computing or Software degree and I would like to know how useful are these certificates? Do companies hold them to a standard/high standard or are they worthless? What is your opinions on the courses?
Thanks for taking the time to read this and I'm interested in your response.