Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
mtdowner authored Jun 17, 2024
1 parent bdd25cf commit 6ea6350
Showing 1 changed file with 88 additions and 13 deletions.
101 changes: 88 additions & 13 deletions javascript-algorithms-and-data-structures/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ JavaScript is a powerful scripting language that you can use to make web pages i

In this practice project, you'll learn fundamental programming concepts in JavaScript by coding your own Role Playing Game. You'll learn how to work with arrays, strings, objects, functions, loops, `if/else statements`, and more.

### Learn Basic Debugging by Building a Random Background Color Changer

Debugging is the process of going through your code, finding any issues, and fixing them.

In this project, you will help CamperBot build a random background color changer and help them find and fix errors.

### Learn Validation by Building a Calorie Counter

Sometimes when you're coding a web application, you'll need to be able to accept input from a user. 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.
Expand All @@ -51,6 +57,9 @@ In this project, you'll code a basic MP3 player using HTML, CSS, and JavaScript.
Working with dates in JavaScript can be challenging. You have to navigate various methods, formats, and time zones. In this project, you'll learn how to work with the JavaScript Date object, including its methods and properties. You'll also learn how to correctly format dates.

This project will cover concepts such as the `getDate()`, `getMonth()`, and `getFullYear()` methods.

---

**Certification Project**

### Build a Palindrome Checker Project Certification Project
Expand All @@ -59,11 +68,27 @@ This is one of the required projects to earn your certification.

For this project, you'll build an application that checks whether a given word is a palindrome.

### Learn Modern JavaScript Methods by Building Football Team Cards, Not started
---

### Learn Modern JavaScript Methods by Building Football Team Cards

One common aspect of building web applications: processing datasets, and then outputting information to the screen. In this sports 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, `Object.freeze()`, the `map()` method, and more.

### Learn localStorage by Building a Todo App

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.

### Learn localStorage by Building a Todo App, Not started
In this TODO application, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements.

### Learn Recursion by Building a Decimal to Binary Converter, Not started
### 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.

In this project, you’ll build a decimal-to-binary converter using JavaScript. You’ll learn the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation.

---

**Certification Project**

Expand All @@ -73,13 +98,35 @@ This is one of the required projects to claim your certification.

For this project, you'll build an application that converts integers to Roman numerals.

### Learn Basic Algorithmic Thinking by Building a Number Sorter, Not started
---

### 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.

### Learn Basic Algorithmic Thinking by Building a Number Sorter

In computer science, there are fundamental sorting algorithms that all developers should learn. In this number sorter project, you'll learn how to implement and visualize different sorting algorithms like bubble sort, selection sort, and insertion sort – all with JavaScript.

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, Not started
### Learn Advanced Array Methods by Building a Statistics Calculator

### Learn Functional Programming by Building a Spreadsheet, Not started
As you expand your JavaScript skills, you'll want to get comfortable with array manipulation methods, such as `map()`, `reduce()`, and `filter()`.

### Learn Regular Expressions by Building a Spam Filter, Not started
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

Functional Programming is a popular approach to software development. 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 `map()` method, `find()` method, `parseInt()`, the `includes()` method.

---

**Certification Project**

Expand All @@ -89,11 +136,31 @@ This is one of the required projects to claim your certification.

For this project, you'll build an application that checks if a number is a valid United States phone number.

### Learn Basic OOP by Building a Shopping Cart, Not started
---

### Learn Basic OOP by Building a Shopping Cart

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.

### Learn Intermediate OOP by Building a Platformer Game

### Learn Intermediate OOP by Building a Platformer Game, Not started
Coding a game is a great way to grasp fundamental programming principles, while also creating an interactive gaming experience.

### Learn Intermediate Algorithmic Thinking by Building a Dice Game, Not started
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.

### Learn Intermediate Algorithmic Thinking by Building a Dice Game

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**

Expand All @@ -103,9 +170,17 @@ This is one of the required projects to earn your certification.

For this project, you'll build a cash register web app.

### Learn Fetch and Promises by Building an fCC Authors Page, Not started
---

### Learn Fetch and Promises by Building an fCC Authors Page

One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.

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, Not started
### Learn Asynchronous Programming by Building an fCC Forum Leaderboard

JavaScript is an asynchronous programming language. And this project will help you gain proficiency in asynchronous concepts. You'll code your own freeCodeCamp forum leaderboard.

Expand All @@ -119,4 +194,4 @@ This project will cover the Fetch API, promises, Async/Await, and the try..catch

This is one of the required projects to earn your certification.

For this project, you will build a Pokémon search app.
For this project, you will build a Pokémon search app.

0 comments on commit 6ea6350

Please sign in to comment.