I'm thrilled to announce freeCodeCamp's Christmas gifts to the global developer community:

#1: A new JavaScript Algorithms and Data Structures certification, featuring 21 projects you can code step-by-step right in your browser. It's fully project-based, containing more than a thousand new coding challenges.

#2: A new Scientific Computing with Python certification. You can code in Python right in your browser, building 15 projects step-by-step.

#3: An interactive version of the legendary open source Odin Project coding curriculum, first created in 2013 by my friend and freeCodeCamp supporter Erik Trautman.

#4: And the one I'm personally the most excited about: our English for Developers curriculum. We're shipping CEFR Level A2 this year. Levels B1, B2, and C1 will follow in 2024 and 2025. And we've focused on vocabulary that is particularly useful for developers.

Wow. Why is freeCodeCamp releasing so many learning resources all at once?

Because it's Christmas, and the community deserves it. 🎄

In all seriousness, we've been working on the JavaScript curriculum upgrade for years.

And the English curriculum and Python curriculum took most of 2023 to build as well.

Our goal is to upgrade all of our remaining certifications to be completely project-oriented, too.

This process will take at least another year to finish. As always, you can help us speed up development by becoming a supporter, so we can afford to bring on additional teaching talent.

The Upgraded Python Curriculum Certification

Solving the classic Tower of Hanoi computer science problem in Python, step-by-step and right in your browser.

freeCodeCamp just published a major upgrade to our Scientific Computing with Python certification. You can now learn Python coding fundamentals by building 15 projects – right in your browser.

Here's a full list of the 15 projects you'll build:

  1. Learn String Manipulation by Building a Cipher
  2. Learn How to Work with Numbers and Strings by Implementing the Luhn Algorithm
  3. Learn Lambda Functions by Building a Expense Tracker
  4. Learn Python List Comprehensions by Building a Case Converter Program
  5. Learn Regular Expressions by Building a Password Generator
  6. Learn Algorithm Design by Building the Shortest Path Algorithm
  7. Learn Recursion by Solving the Tower of Hanoi Puzzle
  8. Learn Data Structures by Building the Merge Sort Algorithm
  9. Learn Classes and Objects by Building a Sudoku Solver
  10. Learn Tree Traversal by Building a Binary Search Tree
  11. Certification Project: Arithmetic Formatter
  12. Certification Project: Time Calculator
  13. Certification Project: Budget App
  14. Certification Project: Polygon Area Calculator
  15. Certification Project: Probability Calculator

This represents more than 500 coding challenges. And the 5 certification projects will involve building sophisticated projects that pass dozens of automated tests.

freeCodeCamp has been hard at work on getting Python to run smoothly in the browser. The result is buttery-smooth execution. No waiting for a server somewhere to run your Python code and send the results back to you.

If you enjoy the sub-millisecond test results you get from freeCodeCamp's JavaScript challenges, you're going to love this snappy new Python experience.

You can start coding in Python on the freeCodeCamp curriculum.

The Upgraded JavaScript Algorithms and Data Structures Certification

Step 53 for the JavaScript Role Playing Game project

Here is the complete list of projects you will build:

  1. Learn Basic JavaScript by Building a Role Playing Game
  2. Learn Form Validation by Building a Calorie Counter
  3. Learn Basic String and Array Methods by Building a Music Player
  4. Learn the Date Object By Building a Date Formatter
  5. Build a Palindrome Checker - Certification project
  6. Learn Modern JavaScript Methods By Building Football Team Cards
  7. Learn localStorage by Building a Todo List
  8. Learn Recursion by Building a Decimal to Binary Converter
  9. Build a Roman Numeral Converter - Certification project
  10. Learn Basic Algorithmic Thinking by Building a Number Sorter
  11. Learn Advanced Array Methods by Building a Statistics Calculator
  12. Learn Functional Programming by Building a Spreadsheet
  13. Learn Regular Expressions by Building a Spam Filter
  14. Build a Telephone Number Validator - Certification Project
  15. Learn Basic OOP by Building a Shopping Cart
  16. Learn Intermediate OOP by Building a Platformer Game
  17. Learn Intermediate Algorithmic Thinking by Building a Dice Game
  18. Build a Cash Register - Certification Project
  19. Learn Fetch and Promises by Building an fCC Authors Page
  20. Learn Asynchronous programming by Building an fCC Forum Leaderboard
  21. Build a Pokémon Search App - Certification Project

You can learn more about the updated JavaScript Algorithms and Data Structures certification, and see it in action, from Jessica's detailed project-by-project breakdown.

The English for Developers curriculum

If you're unfamiliar with the Common European Framework of Reference CEFR, here's a graphic I created to explain it.

A graphic I created to explain the 6 CEFR levels. freeCodeCamp has started with A2 and will eventually develop B1, B2, C1, and C2.

For the first 9 years of freeCodeCamp's history, we've mainly focused on teaching math, computer science and programming. So why start teaching English all the sudden?

The answer: millions of developers need to improve their English so they can realize their full career potential.

Internationally, English has become the language of technology, with so many key technologies coming out of the English-speaking world.

English is also the language of business in many countries. I have lots of friends who use English at the office – even though they live in non-English-speaking countries.

In short: it is worth it for most people to invest the time in getting really good at speaking English. And freeCodeCamp is going to help people do this. For free.

The first half of the curriculum will help you get comfortable with English grammar and usage. It will give you tons of hands-on practice. You'll learn basics like introducing yourself, making small talk, and discussing your work.

In the second half, you'll practice vocabulary specific to software development. You'll learn how to describe code, discuss tech trends, and participate in stand-up meetings.

This entire A2-level curriculum includes 105 different dialogues. Each is designed to build your vocabulary and boost your confidence when speaking in a professional tech setting.

You can try the English for Developers curriculum for yourself and tell your friends who are learning English.

An Update on our University Degree Programs (Associate of Mathematics and Bachelor of Computer Science)

We're also making steady progress on our University Degree Program, nearing completion of the 2nd course... out of 40 total university courses we're building.

Wow – so we still have quite a bit of work to do on that, don't we?

Well, the good news is that we'll shift more of our teaching staff over to the degree program once we finish upgrading freeCodeCamp's Core Curriculum – a series of certifications on topics that we recommend all developers learn.

Our plan remains: finish the 40 courses in the mid-2020s, enroll our first students in the late 2020s, and formally seek accreditation once we have 5 years of longitudinal data from program graduates.

In short: this is seriously long-term endeavor. The kind of undertaking that very few investors would allow a startup to do. Lucky for us, we're a public charity. And we have no investors, no stock owners – just a global community of volunteers and supporters.

freeCodeCamp isn't going anywhere. There are too many problems with education systems around the world, and too many busy adults who need to learn new skills. That bat signal is permanently shining on the clouds above the freeCodeCamp campsite. We teachers are needed. 🏕️

What will happen to the old JavaScript and Python certifications being replaced with replace these new ones?

They'll still be available. We're moving them to a new section at the bottom of freecodecamp.org/learn where we'll keep legacy certifications.

How long will the new JavaScript, Python, English curriculum, and Odin Project sections be in Beta?

We're still merging pull requests as I type this. freeCodeCamp's teachers have been working hard to get these learning resources live in time for Christmas.

Over the coming days and weeks, many of the sections labeled "coming soon" will start appearing. And we're hoping to remove the "beta" labels sometime in the new year.

If I'm new to freeCodeCamp, where should I start?

We still recommend starting at the very top of freecodecamp.org/learn and working your way down. It's thousands of hours of learning, and will keep you busy for all of 2024. But frankly, that's how long it takes to really learn to code properly.

The core curriculum will provide you with tons of practice across hundreds of projects. And our upcoming Math and Computer Science degree programs will provide you with the theory.

On a long enough timeline, we've got you completely covered. And we have more than 1,000 full-length courses on YouTube, along with 11,000 programming tutorials on our publication – including dozens of full-length books. All freely available.

When we started freeCodeCamp back in 2014, we had no idea how comprehensive these learning resources would become. But we've now witnessed the power of open source, and thousands of teachers and developers who want to help people learn for free.

At this point, we're not just aiming to become the most in-depth learning resource on the planet – for math, programming, and now English – but to do so by an order of magnitude.

We're only 9 years old.

It's amazing to see how far the freeCodeCamp community has come, with more than 1,000,000 people now learning from freeCodeCamp every day.

Just this year, the freeCodeCamp community has:

  • Published 114 full-length courses on YouTube.
  • Published 1,045 text-based coding tutorials and 20 free books through freeCodeCamp Press.
  • Merged 2,753 code contributions into our open source repositories on GitHub
  • Translated 2,106,203 words to make our curriculum and tutorials more accessible to speakers of many world languages

And we're just getting started. There is still so much to do.

Again, I encourage you to become a supporter.

And if you're already supporting us each month, and want to make a year-end gift to our charity, by all means.

And if you have any questions about ways you can support our charity's mission, or just need a donation receipt for your taxes, please email me directly: quincy@freecodecamp.org

I hope you have a very Merry Christmas, and get to spend some time learning new skills. Happy coding! 🎅⌨️