Happy birthday to the global freeCodeCamp community.
8 years ago, we started this grass-roots community of learners. Back then, freeCodeCamp sounded like an improbable dream. But we all rolled up our sleeves and got to work making it a reality.
Today, more than a million people use freeCodeCamp each day. Together, we learn about math, computer science, and programming. People from many cultures and walks of life help one another to expand their skills.
As with each winter, I will soon share a ton of data on the growth of the freeCodeCamp community. In this update, I will instead focus on the Data Science courses and our plans for free, accredited university degrees.
Data Science Courses Update
Last year, the freeCodeCamp community ran a fundraiser to support development of Data Science courses. Together, we raised more than $300,000 for research and development.
Today, I'm thrilled to share some of our progress.
We've used some of these funds to commission experienced university instructors to develop coursework.
We've also built several powerful computers and acquired cameras we can use to capture 4K video lectures and coding environments.
We've started filming courses and developing their labs.
And that's what I'm excited to share with you next.
We are Incorporating these Data Science Courses in our 4-Year Bachelor of Computer Science Degree Program
Last year I mentioned our long-term goal of launching free, accredited university degrees.
Specifically, we are now developing:
- An Associate of Science in Mathematics degree, which also serves as the first half of...
- A Bachelor of Science in Computer Science degree
I am thrilled to announce that we have an initial list of the course titles for each of these degrees.
These degrees represent a single, continuous, linear learning path. We estimate that together, completion will require 4 years of full-time study. (Though they are completely self-paced and learners can take longer if they need to.)
These degree programs have no prerequisites beyond a high school-level command of the English language*. We will teach learners mathematics, computer science, and a variety of real-world skills from the ground up.
* Note that the English language skills requirement is only temporary. We plan to eventually translate these courses into many world languages, like we've done with freeCodeCamp's core curriculum.
These 40 courses represent 120 credit-hours of coursework. We planned and sequenced them based on our in-depth cross-analysis of 20 top US computer science degree programs and their curricula.
Learners will not only learn mathematics the traditional way – with pencil and paper – they will also learn how to leverage the power of Python and its ecosystem of math tools.
Each of these courses will involve:
- 90 hours of self-paced video lectures with comprehension check questions and hands-on labs (mainly inside Jupyter Notebooks)
- A timed final examination
Here is the full list of courses we're planning to develop for each of these degrees:
Associate of Science in Mathematics
- Philosophy of Knowledge
- History of Computation
- College Algebra
- Foundations of Critical Thinking
- Ethical Reasoning
- Calculus I
- English Rhetoric and Composition
- Probability and Statistics I
- Health and Wellness
- Calculus II
- Probability and Statistics II
- Professional and Technical Writing
- Calculus III
- Discrete Mathematics
- Economics of Technology and the Labor Market
- Linear Algebra
- Theory of Computation
- Organizational Behavior
- Applied Quantitative Reasoning
Bachelor of Science in Computer Science
- Introduction to Computer Science
- Data Structures and Algorithms
- Electronics and Embedded Systems
- Software Design and Engineering
- Computer Systems and Architecture
- Relational Databases and NoSQL Systems
- Fundamentals of Computer Networking
- Algorithmic Design and Analysis
- Applied Computer Graphics
- Full-Stack Web Development
- Principles of Information Security
- Human-Computer Interaction
- Foundations of Data Analysis
- Applied Data Visualization
- Foundations of Data Engineering
- Supervised and Unsupervised Machine Learning
- Deep Learning Methodologies
- Applied Natural Language Processing
- Applied Computer Vision
- Software Industry Interview Preparation
We aspire to the level of rigor of top university programs. We also aspire to give learners exposure to the traditional liberal arts that have served as the foundation for university learning for more than 1,000 years.
We hold deeply our belief in the importance of fundamental skills: mathematics, logic, rhetoric. And once we've helped learners build that foundation, we can equip them to effect change with the powerful tools of today.
Not only will learners build math, programming, and machine learning skills. They'll also learn how to the tech industry works. They'll learn how to forge a sustainable career in tech. And they'll learn how to reason about the ethical conundrums they encounter in the field.
The Long Road Ahead
We still have an incredible amount of work to do planning these lectures, developing these labs, and seeking accreditation for these programs.
I urge anyone who's reading this: if you are currently in school, stay in school. Assume that this could take a decade or even longer to reach completion.
This said, we will release these courses and their labs as we complete them, and make them freely available online.
We will also release a number of open source tools we use to develop these courses, including our secure environment in which learners will sit for exams.
And for learners who already have a Computer Science degree: we will also incorporate many of these courses into new, stand-alone Data Science certifications you can add to your résumé or LinkedIn. You'll be able to earn these certifications without needing to complete the full university degree coursework.
How You Can Get Involved
With each of these 40 university courses representing 90 hours worth of coursework, we are developing more than 3,600 hours of additional learning resources.
All this will translate to thousands of hours of instructional design work, including:
- scripting, filming, and editing lectures
- developing interactive problem sets and labs
- designing evaluation rubrics
- developing procedurally generated exam questions
- expanding freeCodeCamp's learning platform itself to track and authenticate learner progress
- and eventually translating all these videos into major world languages, and re-recording each of the video lectures with instructors who speak those languages.
In short, this degree program will likely cost millions of dollars to complete, even at our charity's high level of operational efficiency.
We will be agile about this. We'll release each of these courses as we complete them. Several of these courses will go live in 2023.
And even though it may take a decade or longer before we're able to get this program formally accredited, the coursework should be completed sooner than that.
So the most immediate way you can help is to donate to our 501(c)(3) tax-exempt public charity. Most people set up a $5 / month recurring donation. We also welcome larger one-time gifts. I will personally prepare a donation receipt for your taxes if you need one.
Another way you can support our efforts is to become a beta tester of the new coursework. If you're interested, fill out this form and I'll reach out to you when the first few courses are ready. You can be one of the first people to make use of them.
And finally, if you have experience teaching some of the topics listed here at the university level, I would welcome your thoughts. I am very much a practitioner and not an academic. As such, I spend as much time as I can learning from professors and university administrators.
Thanks again to the many, many developers, professors, instructional designers, and beta testers in the freeCodeCamp community who have given us feedback on these upcoming courses.
At 8 years old, our community is just beginning its quest to develop free resources for ambitious learners around the world.
There is so much work to be done. And we are all jazzed to be doing it.