We're expanding freeCodeCamp's Python section into a full-blown data science curriculum and we need your help.
Currently, these data science skills are only taught at a few universities around the world. Our goal is for anyone, anywhere to be able to learn these advanced mathematics and machine learning concepts and that data scientists use in the field. For free. And in a fun, interactive way.
Press play to hear me talk about the Data Science curriculum on The Changelog podcast
What Will the Data Science Curriculum Cover?
You'll be able to code your way through a series of hundreds of Python projects to earn certifications in:
- Scientific Computing with Python
- Foundational Mathematics (Arithmetic, Algebra, Geometry, Trigonometry)
- Algorithmic Problem Solving (Data Structures, Brute Force, Divide and Conquer, Shortest Path, Greedy Algorithms, Dynamic Programming)
- Descriptive Statistics
- Data Engineering (Pipelines, ETL, Storage, Data Cleaning + Anomaly Detection Methods)
- Exploratory Data Analysis
- Single and Multivariable Calculus
- Inferential Statistics and Probability
- Linear Algebra and Matrix Algebra
- Supervised Learning Algorithms (Classification, Regression)
- Unsupervised Learning Algorithms (Clustering, Dimensionality Reduction)
- Reinforcement Learning Algorithms (Neural Networks)
You'll be able to build these projects in your browser or offline in your operating system. You'll use Jupyter Notebooks filled with interactive graphs, datasets, and automated tests to check your code. And you'll use tools like:
- and scikit-learn
Imagine being able to learn advanced mathematics and computer science concepts for free in just a few thousand hours. That's what we're going to accomplish by leveraging these state-of-the-art Python ecosystem tools.
How is freeCodeCamp Going to Fund the Development of All This?
We need your support to make this dream come true. Designing and coding this curriculum will take 10,000s of developer hours. Hosting Jupyter Notebook clusters will also increase our nonprofit's monthly server costs.
We estimate that the total cost of building and maintaining this curriculum will be $300,000 for the first 2 years.
We are thrilled to announce that Darrell Silver has agreed to 100% match any donations you make up to the first $150,000 we raise. So today we are launching a $150,000 fundraiser and for every dollar you donate, freeCodeCamp will get two dollars.
Please consider a donation to this amazing effort to help us provide the core machine learning concepts and advanced mathematics that data scientists use in the field for free today. Every dollar is matched, every dollar matters, every dollar gets us closer to this awesome goal.
Help us to support our new data science curriculum by giving a matched donation right here:
2021 Data Science Curriculum Pledge Drive
Watch the Demo Video (28 minute watch)
What Has the freeCodeCamp Team Already Accomplished?
You may be thinking "This sounds ambitious. Can the freeCodeCamp community pull this off in 2 years?"
Well, we have already started planning out much of this curriculum with help from academia and from data scientists working in the field.
We've also built a Jupyter Notebook proof of concept using SymPy – with working automated test cases. We will further refine this over the coming months before releasing the first version of the curriculum.
And if you're unfamiliar with our nonprofit's track record in general, read our 2020 annual report. We delivered more than 1,300,000,000 minutes of worth of learning last year alone on a budget of only $498,000. (That's ~50 hours of learning per dollar donated.)
How Are You Going to Teach Mathematics, Data Science, and Machine Learning in the Browser?
These topics are not easy to learn. But we have strategies for breaking this corpus of knowledge down into manageable components.
The most important design decision is this: optimizing for developers. Instead of designing the curriculum with schools in mind, we are focusing on individual, motivated adult learners who already have a baseline understanding of web development. (If they don't yet, they can just complete the first half of freeCodeCamp's curriculum. It is the sole prerequisite for this Data Science coursework.)
Since we can assume that learners already know how to code, we can teach mathematics in an entirely new way. Instead of using traditional lectures or homework exercises – tools like pencils, paper, and graphing calculators – we can incorporate Python.
This practical spin gives a new sense of relevance to age-old tasks of solving equations and proving theorems.
What if I Already Know Some of These Topics? Can I Still Earn the Certifications?
As with freeCodeCamp's web development curriculum, most of the coursework is entirely optional.
If you've already learned some of these topics in the past, you can jump ahead and build the certification projects. Once you prove your knowledge, you can claim the certification.
The freeCodeCamp curriculum will remain a straight line with no electives. But you can pick where you want to start on that line, and you can always back-track if you need to review.
Doesn't freeCodeCamp Already Cover All of These Topics on the Community YouTube Channel?
Yes. We have free full-length courses on almost all of these topics on our community YouTube channel.
Videos are much easier to produce than integrated, interactive curricula. They are just the first step toward our goal of fully teaching and certifying data scientists.
These videos will remain a solid supplementary learning resource. They are great for learning on the go, and they delve further into some concepts that our more practical curriculum will only touch on.
What if I am Midway Through the Current freeCodeCamp Curriculum?
No problem. You won't lose any of your progress.
We will turn some of our certifications into legacy certifications (like the current Data Visualization certification) into a legacy certification, but you will still own it, and you will still be able to claim it even after we release the new certifications.
What is the Release Roadmap?
Note that the freeCodeCamp community does not set public launch dates. Instead, we roll new coursework out as it's ready, then continually maintain and refine it.
Here is what we plan to release:
Stage #1: We will publish the certification projects, which you can complete in order to obtain each of these data science certifications. We will also publish video courses that you can use – in combination with other learning resources – to learn the concepts.
Stage #2: We will publish the optional practice projects for each certification. These will replace the videos, which we'll move over to freeCodeCamp's supplemental learning resource section.
We think we can accomplish most of this in the first 2 years. Then...
Stage #3: We will add additional optional practice projects to provide even more practice and repetition. Our eventual goal is to have more programming practice than a single human could reasonably complete in a lifetime. (You could argue that we already have this through our client-side implementation of Project Euler and Rosetta code, but there are still millennia worth of years worth of mathematical knowledge we can eventually cover.)
Learning is a life-long endeavor. And the freeCodeCamp curriculum will continue to evolve to reflect this.
Will All of This be Open Source?
Yes. As with all of freeCodeCamp's other code, it will be licensed using the extremely permissive BSD-3 license. (It's similar to the MIT license but also protects our nonprofit from impersonation.)
And as with the rest of freeCodeCamp's curriculum, all of our coursework will be Creative Commons-licensed. The CC-BY-SA 4.0 to be exact. This license is permissive and has no commercial restrictions. That's right. You could build a business around freeCodeCamp if you wanted to.
How Can I Get Involved in This New Data Science Curriculum?
If you are a teacher, practicing data scientist, or a mathematics enthusiast, we would welcome your feedback.
And for everyone else, you should support our pledge drive. Help us fund a free, open source data science curriculum for you, your family, and your neighbors around the world. Donate here.
How Can I Get a Donation Receipt for my Taxes?
When you donate using this form above PayPal should email you a receipt. Just forward that receipt to firstname.lastname@example.org and we will send you a donation receipt for your taxes.
Thanks for reading, and happy coding.