Also note that any older certifications you have earned will continue to remain valid going forward.
I have created a video walkthrough demoing each of the projects that you will build throughout this course.
Here is the complete list of projects you will build:
- Learn Form Validation by Building a Calorie Counter
- Learn Basic String and Array Methods by Building a Music Player
- Learn the Date Object By Building a Date Formatter
- Build a Palindrome Checker – Certification project
- Learn localStorage by Building a Todo List
- Learn Recursion by Building a Decimal to Binary Converter
- Build a Roman Numeral Converter – Certification project
- Learn Basic Algorithmic Thinking by Building a Number Sorter
- Learn Advanced Array Methods by Building a Statistics Calculator
- Learn Functional Programming by Building a Spreadsheet
- Learn Regular Expressions by Building a Spam Filter
- Build a Telephone Number Validator – Certification Project
- Learn Basic OOP by Building a Shopping Cart
- Learn Intermediate OOP by Building a Platformer Game
- Learn Intermediate Algorithmic Thinking by Building a Dice Game
- Build a Cash Register – Certification Project
- Learn Fetch and Promises by Building an fCC Authors Page
- Learn Asynchronous programming by Building an fCC Forum Leaderboard
- Build a Pokémon Search App – Certification Project
Learn Form Validation by Building a Calorie Counter
In this calorie counter project, you’ll learn how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results. This project covers basic regular expressions, template literals, the
addEventListener() method, and more.
Learn Basic String and Array Methods by Building a Music Player
You will learn how to work with essential string and array methods like the
Learn the Date Object By Building a Date Formatter
Date object, including its methods and properties. You’ll also learn how to correctly format dates.
This project will cover concepts such as the
Certification project: Build a Palindrome Checker
For this certification project, you will build out a palindrome checker. A user should be able to input a word or phrase and your application should correctly check if is a palindrome.
A palindrome is a word or phrase that can be read the same way forwards and backwards, ignoring punctuation, case, and spacing.
In this football team cards project, you’ll learn how to work with DOM manipulation, object destructuring, event handling, and data filtering.
This project will cover concepts like
switch statements, default parameters,
map() method, and more.
Learn localStorage by Building a Todo List
Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user’s browser. This allows web apps to save data during one session, then retrieve it in a later page session.
In this TODO application, you’ll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implementing event listeners, and toggle UI elements.
Learn Recursion by Building a Decimal to Binary Converter
Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.
Certification Project: Build a Roman Numeral Converter
For this certification project, you will build out a Roman numeral converter. A user should be able to input an integer and your application should correctly return a Roman numeral.
Learn Basic Algorithmic Thinking by Building a Number Sorter
This project will help you understand the fundamental concepts behind these algorithms, and how you can apply them to sort numerical data in web applications.
Learn Advanced Array Methods by Building a Statistics Calculator
In this statistics calculator project, you’ll gain experience with handling user input, DOM manipulation, and method chaining. You’ll get practice by performing statistical calculations like mean, median, mode, variance, and standard deviation.
Learn Functional Programming by Building a Spreadsheet
In Functional Programming, developers organize code into smaller functions, then combine those functions to build complex programs.
In this spreadsheet application project, you’ll learn about parsing and evaluating mathematical expressions, implementing spreadsheet functions, handling cell references, and creating interactive web interfaces. You’ll learn how to dynamically update the page based on user input.
This project will cover concepts like the
Learn Regular Expressions by Building a Spam Filter
Regular expressions, often shortened to “regex” or “regexp”, are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.
In this spam filter project, you’ll learn about capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want.
Certification Project: Telephone Number Validator
For this certification project, you will build out a telephone number validator. A user should be able to input a number or random set of characters and your application should correctly check if it is a valid United States phone number or not.
OOP, or Object Oriented Programming, is one of the major approaches to the software development process. In OOP, developers use objects and classes to structure their code.
In this shopping cart project, you’ll learn how to define classes and use them. You’ll create class instances and implement methods for data manipulation.
This project will cover concepts like the
ternary operator, the
spread operator, the
this keyword, and more.
In this platformer game project, you’ll continue to learn about classes, objects, inheritance, and encapsulation. You’ll also learn how to design and organize game elements efficiently and gain insights into problem-solving and code reusability.
Algorithmic thinking involves the ability to break down complex problems into a sequence of well-defined, step-by-step instructions.
In this Dice game project, you’ll learn how to manage game state, implement game logic for rolling dice, keeping score, and applying rules for various combinations.
This project covers concepts such as event handling, array manipulation, conditional logic, and updating the user interface dynamically based on game state.
Certification Project: Build a Cash Register
For this certification project, you will build out a functioning cash register. A user should be able to input cash and the register should output if any change is due and what amount.
Learn Fetch and Promises by Building an fCC Authors Page
This freeCodeCamp authors page project will show you how to use the fetch method, then dynamically update the DOM to display the fetched data. This project will also teach you how to paginate your data so you can load results in batches.
Learn Asynchronous Programming by Building an fCC Forum Leaderboard
In this project you will gain proficiency in asynchronous concepts by building your own freeCodeCamp forum leaderboard. This project will cover the
Fetch API, promises,
Async/Await, and the
Certification Project: Build a Pokémon Search App
For this certification project, you will build out a Pokémon Search App. A user should be able to enter in the name or id for a Pokémon and your application should return the stats and avatar for that Pokémon.
This certification is currently in beta. If you find any issues, please report them to our GitHub repository.
If you need help with any of the projects, reach out on the freeCodeCamp forum.
This is only the beginning
You can get involved in our open source efforts by becoming a volunteer in the freeCodeCamp community.
Happy coding. 🏕️