Update July 2, 2020: the 4 new Python certifications are now live.

We've been working hard on Version 7.0 of the freeCodeCamp curriculum. Here's what we're building.

Some of these improvements - including 4 new Python certifications - will go live in early 2020.

Note: if you're already going through the current version of the curriculum, keep going. As you'll see, there's no reason to stop.

The Version 7.0 curriculum...

Will take a person with very basic computer knowledge...

Build that person up through 3,000 hours of coursework...

Ramp up their programming skills...

Solidify their software engineering fundamentals...

And they will emerge on the other side as a well-rounded developer, ready for most entry-level developer jobs.

As always, there are no electives. There is no guesswork. You can just power through the curriculum from start to finish.

And along the way, you'll learn the tools and concepts used by modern software development teams.

With Version 7.0, you'll still learn Front End Web Development skills and Back End API design.

And now you'll also learn Python and its powerful suite of Data Science and Machine Learning tools.

Improvement #1: We're adding 4 new data-focused certifications.

In addition to the 6 certifications we've had since 2017, we're adding 4 new certifications, all using Python:

Scientific Computing

Data Analysis

Information Security

Machine Learning

You'll use libraries like Numpy, Matplotlib, and TensorFlow to build a wide variety of projects.

Improvement #2: Instead of individual lessons, everything will be a project.

Our current curriculum has blocks of individual lessons. These can feel disconnected from one another - and even a bit like "interactive documentation."

This approach has been effective enough to help 40,000 people get their first developer job. But building projects is a lot more fun. And learning should be fun. 🙂

So with Version 7.0, we're replacing these optional lessons with our all-new Practice Projects.

For each of these Practice Projects, you'll build up a codebase - one passing test after another.

Until - hundreds of passing tests later - you have a fully functional project.

For example, instead of learning JavaScript through a series of 200 discreet lessons, you'll learn JavaScript by building a fully playable role playing game.

We will build in a lot more repetition to help you strengthen your "muscle memory" for coding.

Improvement #3: We're adding Crash Courses on Git, Linux, and SQL.

Past versions of the freeCodeCamp curriculum taught Git, Linux, and SQL.

But we wanted to make the curriculum fully interactive. No articles. No videos. Just coding from start to finish.

So we made our curriculum run completely client-side. You could just jam through freeCodeCamp in your browser and ride a zero millisecond feedback loop.

Conventional wisdom at the time was that teaching Git, Linux, or SQL would require a file system. And this would require servers. And servers would introduce a lot of latency.

So we removed these parts from our curriculum and basically said: "go learn these from our YouTube channel or from other resources."

Well today, I'm thrilled to announce that we're working on some interactive crash courses for these three tools.

These will not be certifications. They will be stand-alone tutorials. And you'll be able to do them whenever you want. No other parts of the curriculum will depend upon these skills.

Since we're teaching these in your browser, we can only approximate a full server environment. But we're confident we can still teach you a lot of the core concepts interactively.

Here's the full Version 7.0 curriculum. All 111 projects.

By the end of 2020, freeCodeCamp's curriculum will look something like this:

[HTML+CSS] Responsive Web Design (16 projects)

🛠️ Practice Projects:️

Learn Basic HTML by Building a Cat Photo App

Learn Basic CSS by Building a Blog

Learn Intermediate CSS by Building a Picasso Painting

Learn the CSS Box Model by Building a Rothko Painting

Learn CSS Variables by Building a City Skyline

Learn CSS Animations by Building a Ferris Wheel

Learn Typography by Building a Nutrition Label

Learn Accessibility by Building a User Feedback Survey

Learn Responsive Web Design by Building a Piano

Learn CSS Flexbox by Building a Photo Gallery

Learn CSS Grid by Building a Magazine

🏆 Certification Projects:

Tribute Page

Survey Form

Product Landing Page

Technical Documentation Page

Personal Portfolio Webpage

[JavaScript] Algorithms and Data Structures (13 projects)

🛠️ Practice Projects:

Learn Basic JavaScript by Building a Role Playing Game

Learn Intermediate JavaScript by Building a Calorie Counter

Learn Regular Expressions by Building a Spam Filter

Learn Debugging by Building a Dice Game

Learn Data Structures by Building a Shopping Cart

Learn Basic Algorithms by Building an Algorithmic News Feed

Learn Intermediate Algorithms by Building a Yahtzee Game

Learn Functional Programming by Building a Spreadsheet

🏆 Certification Projects:

Palindrome Checker

Roman Numeral Converter

Caesars Cipher

Telephone Number Validator

Cash Register

[JavaScript] Front End Libraries (10 projects)

🛠️ Practice Projects:

Learn Basic React by Building a Quiz App

Learn Intermediate React by Building Flappy Bird

Learn Basic Redux by Building an Exercise Tracker

Learn Intermediate Redux by Building Tetris

Learn TypeScript by Building a Poker Game

🏆 Certification Projects:

Random Quote Machine

Markdown Previewer

Drum Machine

JavaScript Calculator

Pomodoro Clock

[JavaScript] Data Visualization (11 projects)

🛠️ Practice Projects:

Learn CSV by Building a Mailing List

Learn JSON by Building a Sports Team

Learn AJAX by Building a View Counter

Lean Data Visualization by Building a Dashboard

Learn SVG by Building a Solar System

Learn D3 by Building a Map of Earth

🏆 Certification Projects:

Bar Chart

Scatterplot Graph

Heat Map

Choropleth Map

Treemap Diagram

[JavaScript] APIs and Microservices (10 projects)

🛠️ Practice Projects:

Learn npm by Building an npm Module

Learn Node.js by Building a Web Server

Learn Express.js by Building an Stock Trading Platform

Learn RESTful APIs by Building a Weather Service

Learn MongoDB by Building a Movie Review Database

🏆 Certification Projects:

Timestamp Microservice

Request Header Parser Microservice

URL Shortener Microservice

Exercise Tracker

File Metadata Microservice

[JavaScript] Quality Assurance (10 projects)

🛠️ Practice Projects:

Learn Testing Basics by Building a Recipe Ingredient Parser

Learn Unit Testing by Writing Tests for an E-Commerce Site

Learn Integration Testing by Writing Tests for an E-Commerce Site

Learn Functional Testing by Writing Tests for an E-Commerce Site

Learn Jest and React Testing Library by Testing a React Tic Tac Toe Game

🏆 Certification Projects:

Metric-Imperial Converter

Issue Tracker

Personal Book Library

Sudoku Solver (Replacing Stock Price Checker, which is moving to Information Security)

Grammar Checker (Replacing Anonymous Message Board, which is moving to Information Security)

[Python] Scientific Computing (10 projects)

🛠️ Practice Projects:

Learn Python Basics by Building a Blackjack Game

Learn Intermediate Python by Building a Contact Book Program

Learn Object Oriented Programming by Building a Minesweeper Game

Learn Recursion by Solving the Tower of Hanoi Puzzle

Learn Concurrency by Building a Prime Number Generator

🏆 Certification Projects:

Arithmetic Formatter

Time Calculator

Battery Life Calculator

Polygon Area Calculator

N Queens Solver

[Python] Data Analysis (10 projects)

🛠️ Practice Projects:

Learn Basic NumPy by Creating and Manipulating Arrays

Learn Intermediate NumPy by Building Conway's Game of Life

Learn Pandas by Analyzing Sales Data

Learn Data Wrangling by Organizing the USDA Food Database

Learn matplotlib and Data Visualization by Graphing Website Analytics

🏆 Certification Projects:

Mean-Variance-Standard Deviation Calculator

Demographic Data Time Series Analyzer

Medical Data Visualizer

Academic Citation Grapher

Product Review Data Dashboard

[JavaScript + Python] Information Security (11 projects)

🛠️ Practice Projects:

Learn Information Security by Building a Credit Card Form (JS)

Learn Cryptography by Building a Digital Signature System (JS)

Learn Authentication by Building a Signup Page (JS)

Learn Websockets by Building a Chat Room (JS)

Learn About Network Security by Building a Packet Sniffer (PY)

Learn Scapy by Creating Packets from Scratch (PY)

🏆 Certification Projects:

Stock Price Checker (In existing curriculum, being moved)

Anonymous Message Board (In existing curriculum, being moved)

Port Scanner

Packet Capturer

Secure Real Time Multiplayer Game

[Python] Machine Learning (10 projects)

🛠️ Practice Projects:

Learn the Basics of Machine Learning by Building a Program to Identify Handwritten Digits

Learn Tensorflow by Building a Movie Recommendation System

Learn Regression Models by Building a House Price Predictor

Learn Classification Algorithms by Classifying Iris Flower Images

Learn Deep Learning by Analyzing Traffic Signals

🏆 Certification Projects:

Rock Paper Scissors Analyzer

Cat and Dog Image Classifier

Music Recommendation Engine

Linear Regression Fuel Economy Calculator

Neural Network Text Analyzer

🛤️ And our 3 Crash Courses:

Relational Databases - Learn SQL by Building a University Database

Linux - Learn Bash basics by Playing Capture the Flag

Git - Learn Git by Creating an Open Source Project

🏋️‍♀️ And, of course, our Coding Interview Prep section (already available) offers thousands of hours of extra practice:

Advanced Algorithms (9 algorithms)

Advanced Data Structures (46 algorithms)

Rosetta Code Algorithms (134 algorithms)

Project Euler Algorithms (480 algorithms)

Take Home Projects (20 projects)

How we're rolling everything out

We're rolling out these changes in 4 stages. None of these are breaking changes. The curriculum will remain fully backward compatible.

If you've earned a certification in the past, you'll keep it. Nobody will have to re-do projects.

Stage 1: Publish Python Certification Projects

Stage 2: Update Our User Interface to support New Practice Projects

Stage 3: Publish Python Practice Projects

Stage 4: Publish JavaScript Practice Projects to replace existing JavaScript lessons

Frequently Asked Questions

I'm in the middle of the current curriculum. Should I keep going?

Yes. Keep going. None of this will affect anything you're learning today. The new curriculum is fully backward compatible.

I've already earned certifications with the current curriculum. What will happen to these?

Congrats on your certifications. Good news: our current 6 certifications aren't changing. They will still be in the curriculum, and each of them will keep the same 5 Certification Projects.

Remember: in order to earn a certification, all you need to do is build its 5 Certification Projects. All the lessons are optional.

So even though we're replacing these lessons with Practice Projects, you won't need to go back and do these. The Practice Projects - just like the lessons - will be completely optional.

What are the other changes I should know about?

We are changing the name of the "Quality Assurance and Information Security" certification to just be "Quality Assurance." We're doing this because we have a new certification focused just on Information Security.

The Quality Assurance certification will cover a lot more testing. Two of its old Certification Projects are being moved to the new Information Security certification. And we're replacing those with 2 new Quality Assurance Certification Projects.

If you've already earned the old Quality Assurance certification, you won't need to build these 2 new projects. But you can build them if you want for extra practice.

Do I need to do all 3,000 hours of coursework before I can start applying for jobs?

In practice, very few people complete the entire curriculum before going out and getting a job.

So don't think of this curriculum as "everything you should know before you start your job search."

Instead, think of this as: "everything a modern developer should know early in their career." You can keep learning new skills through the curriculum even after you've gotten your first developer job.

Can I apply for data science jobs with this?

Data Science is a multi-disciplinary field that combines programming, statistics, and domain knowledge. It is not an entry-level field, but rather a career you transition into once you get your Ph.D. or work a variety of jobs in industry.

We teach a lot of data science tools because these are valuable for generalist developers as well. Note that we do not teach the math or industry-specific domain knowledge you'd need as a data scientist. So if your goal is to become a data scientist, you'll probably want to learn those in school or on the job.

How can I help?

We are a tiny nonprofit with a comically small budget. But we are extremely efficient. In 2019 we provided more than 1.1 billion minutes of instruction on a budget of only $373,000. That comes out to 50 hours of instruction per dollar donated.

The best way to help our mission is to support freeCodeCamp.org directly with a donation.

You can also help by hanging out on the freeCodeCamp forum and answering people's questions. We are now one of the biggest programming communities on the web, thanks to so many helpful volunteers.

Thanks again for being part of the freeCodeCamp community. 2019 has been a year of groundwork. 2020 will be the year that our efforts come to fruition.

I'm grateful that you'll be here with us as our community takes its next big step into the future.