9 years ago, we started this open source 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.

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:

  1. An Associate of Science in Mathematics degree, which also serves as the first half of...
  2. 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.

Ed_teaching_foundational_math
freeCodeCamp developer and 20-year university instructor Ed Pratowski teaching foundational math in 4K at the whiteboard.

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.

Foundational_Math_Curriculum_Screenshot
A screenshot of what the Foundational Math course will look like, and a small handful of the many concepts it will cover.

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
math_curriculum-1
These courses will make heavy use of Python and Jupyter Notebook tools for solving equations. And ultimately for analyzing datasets.

Here is the full list of courses we're planning to develop for each of these degrees:

Associate of Science in Mathematics

  1. Philosophy of Knowledge
  2. History of Computation
  3. College Algebra
  4. Foundations of Critical Thinking
  5. Precalculus
  6. Ethical Reasoning
  7. Calculus I
  8. English Rhetoric and Composition
  9. Probability and Statistics I
  10. Health and Wellness
  11. Calculus II
  12. Probability and Statistics II
  13. Professional and Technical Writing
  14. Calculus III
  15. Discrete Mathematics
  16. Economics of Technology and the Labor Market
  17. Linear Algebra
  18. Theory of Computation
  19. Organizational Behavior
  20. Applied Quantitative Reasoning

Bachelor of Science in Computer Science

  1. Introduction to Computer Science
  2. Data Structures and Algorithms
  3. Electronics and Embedded Systems
  4. Software Design and Engineering
  5. Computer Systems and Architecture
  6. Relational Databases and NoSQL Systems
  7. Fundamentals of Computer Networking
  8. Algorithmic Design and Analysis
  9. Applied Computer Graphics
  10. Full-Stack Web Development
  11. Principles of Information Security
  12. Human-Computer Interaction
  13. Foundations of Data Analysis
  14. Applied Data Visualization
  15. Foundations of Data Engineering
  16. Supervised and Unsupervised Machine Learning
  17. Deep Learning Methodologies
  18. Applied Natural Language Processing
  19. Applied Computer Vision
  20. 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 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.

Donate to support our charity and our mission here.

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.

Sign up to beta test the upcoming courses here.

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.

9 years in, 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.

– Quincy