Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
70+ JavaScript Challenges: Data Structures & Algorithms
Rating: 4.8 out of 5(741 ratings)
7,055 students

70+ JavaScript Challenges: Data Structures & Algorithms

Build better foundational skills as a developer by doing challenges and learning about data structures and algorithms
Created byBrad Traversy
Last updated 11/2023
English

What you'll learn

  • Explore 70+ coding challenges from beginner, intermediate and advanced levels
  • Ace coding interviews by learning how to solve problems with iteration, recursion, array methods & more
  • Master data structures like stacks, queues, linked lists, trees, maps and hash maps
  • Learn about sorting algorithms like bubble sort, insertion, merge and quick sort
  • Full sandbox with explanations and Jest tests for every challenge
  • You do NOT have to take on the challenges alone. Follow along and learn from the explanations

Course content

11 sections114 lectures12h 27m total length
  • Welcome To The Course3:23

    Master JavaScript algorithms and data structures through challenge-based learning that strengthens problem solving and interview prep, with clear explanations and Jest-backed documentation for intermediate learners.

  • Course Structure4:18

    Explore the course structure, from basic loop challenges like fizzbuzz to advanced data structures, recursion, and graph and tree traversals, across JavaScript, with attention to time and space complexity.

  • DSA - The What & Why6:55

    Learn what algorithms and data structures are, and explore how to implement and apply them in JavaScript through custom classes, traversals, and practical challenges.

  • Tools & Basic Setup5:35

    Set up your development environment with a sandbox of challenges, solutions, and tests. Use Visual Studio Code, Node.js, Git, Jest, Code Runner, and prettier extensions.

  • Sandbox Environment Setup6:27

    Explore the traverse js challenges sandbox, set up your workspace with readme files, npm, jest, and vscode, and run tests to study the hello world entry.

Requirements

  • You should know JavaScript & programming fundamentals

Description

Most of my students know me for my practical, project-based courses and tutorials. I wanted to create something to give you more fundamental skills for problem solving. That's where the idea for this challenges course came from. I want to take my down-to-earth explanations to help you get a better understanding of the code that you write and help you write more efficient code.


This course is for all levels as long as you have a basic understanding of things like loops, functions, arrays, etc. We are writing JavaScript in this course, but about 95% of it can translate to any other language. So even if you are a Python, PHP or C# developer, you can still follow along.


Basic Challenges:

We start with a bunch of basic challenges that have to do with iteration and loops. Things like FizzBuzz and string reversals. These are very popular questions for entry-level interviews. We also move on to solving problems with high order array methods like filter and map.


Recursion:

Recursion is one of the toughest things to learn in programming. We have an entire section dedicated to it with challenges that we solve using recursion.


Time & Space Complexity:

We talk about how to measure an algorithm or function's efficiency by using time and space complexity to see how the runtime and memory scale when inscreasing the input.


Data Structures: Stacks, Queues, Trees, Linked Lists, Graphs, HashMaps

We go over all of the common data structures and create our own implementation of them using JavaScript classes, but like I said, you could use any language. We also learn how to traverse them and complete challenges using them.


Sorting Algorithms:

We get into different sorting algorithms like bubble sort, insertion, selection, merge and quick sort. These are popular topics for interviews.

Who this course is for:

  • Developers that want to build better foundational problem solving skills and pass job interviews