Welcome to Software

    freeCodeCamp Review in 2020

    A bird’s-eye view

    Overview

    This freeCodeCamp review is one of many in a qualitative analysis comparing popular Learn to Code platforms using 6 categories, each with 5 distinct grades. This is a bird’s-eye view, rather than a comprehensive dissection of freeCodeCamp.

    Who is freeCodeCamp Great for?^

    • Anyone interested in front-end development.
    • Anyone who wants a free platform.
    • Anyone interested in a great long list of interview problems.
    • Anyone who wants to solve technical interview problems in JavaScript (alternative to HackerRank, LeetCode, GeeksForGeeks).
    • Anyone who wants very active discussion forums.

    Cost^

    5All courses are free.
    Cost category and grading details

    It’s in the name… freeCodeCamp.

    Teacher Feedback^

    2Consistently active community exists where another student will likely respond to your query.
    Teacher Feedback category and grading details

    freeCodeCamp does not offer any feedback from a formal teacher, but you can get feedback from other students in their consistently active discussion forums.

    Range of Tools^

    1Only one or two tools from the basket of tools was covered.
    Range of Tools category and grading details

    freeCodeCamp only offers challenges in HTML, CSS, and JavaScript (only pure JavaScript — no Angular or React). However, their depth of JavaScript challenges goes so far, that you need to have a good understanding of computer science to solve their final set of challenges.

    Computer Science^

    1Basic computer science concepts are not explicitly covered.
    Computer Science category and grading details

    freeCodeCamp’s challenges require implementing all the major sorting algorithms, basic and complex data structures, and using various strategies for solving algorithmic problems. Written guides are also provided to help you along the way. However, computer science is not explicitly taught anywhere, so a learner will require outside help to solve all the challenges available.

    Real-World Projects^

    2Real-world projects are presented with a description or walkthrough, but without additional context of a course.
    Real-World Projects category and grading details

    freeCodeCamp provides very brief descriptions of projects in the form of Agile User Stories. It’s a nice place for an experienced developer to get ideas for projects to expand their technical skill-set, however, it is not enough for most beginners.

    Beginner Environments^

    4Beginner-friendly coding environment available providing artificially helpful error messages after submitting each mini-challenge.
    Beginner Environments category and grading details

    freeCodeCamp offers similar artificially safe beginner environments as CodeCademy and Khan Academy. However, the structure is slightly less rigid, allowing you to jump from challenge to challenge with greater ease. The number of test cases run for each challenge appears to be less when compared to CodeCademy or Khan Academy, providing fewer hints on execution failures.

    Final Words^

    freeCodeCamp is a great place to start learning even for someone who’s never touched HTML because of their clear linear progression of beginner courses from HTML to CSS to JavaScript. Their JavaScript challenges increase in difficulty all the way to great interview challenges for top-tier software engineer interviews. However, since freeCodeCamp is entirely coding challenges and disjointed written tutorials, it works better as a supplementary learn to code platform.


    Authors

    Twitter

    Sam Malayek works in London for Thought Machine, and uses this space to fill in a few gaps.