Soon the freeCodeCamp curriculum will be 100% project-driven learning.
Instead of a series of coding challenges, you'll learn through
building projects - step by step. Before we get into the details, let
me emphasize: we are not changing the certifications. All 6
certifications will still have the same 5 required projects. We are
only changing the optional coding challenges.
After years - years - of pondering these two problems and how to solve
them, I slipped, hit my head on the sink, and when I came to I had a
revelation! A vision! A picture in my head! A picture of this! This is
what makes time travel possible: the flux capacitor! It wasn't as
dramatic as Doc's revelation in Back to the Future. It just occurred
to me while I was going for a run. The revelation: the entire
curriculum should be a series of projects. Instead of individual
coding challenges, we'll just have projects, each with their own
seamless series of tests. Each test gives you just enough information
to figure out how to get it to pass. (And you can view hints if that
isn't enough.)
The entire curriculum should be a series of projects
No more walls of explanatory text. No more walls of tests. Just one
test at a time, as you build up a working project. Over the course of
passing thousands of tests, you build up projects and your own
understanding of coding fundamentals. There is no transition between
lessons and projects, because the lessons themselves are baked into
projects. And there's plenty of repetition to help you retain
everything because - hey - building projects in real life has plenty
of repetition.
The main design challenge is taking what is currently paragraphs of
explanation and instructions and packing them into a single test
description text. Each project will involve dozens of tests like this.
People will be coding the entire time, rather than switching back and
forth from "reading mode" to "coding mode". Instead of a series of
coding challenges, people will be in their code editor passing one
test after another, quickly building up a project. People will get
into a real flow state, similar to what they experience when they
build the required projects at the end of each certification. They'll
get that sense of forward progress right from the beginning. And
freeCodeCamp will be a much smoother experience.