We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

JavaScript Algorithms and Data Structures Masterclass

Colt Steele

Updated in November 2018 with brand new section on Dynamic Programming.

Read more

Updated in November 2018 with brand new section on Dynamic Programming.

This course crams months of computer science and interview prep material into 20 hours of video. The content is based directly on last semester of my in-person coding bootcamps, where my students go on to land 6-figure developer jobs. I cover the exact same computer science content that has helped my students ace interviews at huge companies like Google, Tesla, Amazon, and Facebook. Nothing is watered down for an online audience; this is the real deal :) We start with the basics and then eventually cover “advanced topics” that similar courses shy away from like Heaps, Graphs, and Dijkstra’s Shortest Path Algorithm.

I start by teaching you how to analyze your code’s time and space complexity using Big O notation. We cover the ins and outs of Recursion. We learn a 5-step approach to solving any difficult coding problem. We cover common programming patterns. We implement popular searching algorithms. We write 6 different sorting algorithms: Bubble, Selection, Insertion, Quick, Merge, and Radix Sort. Then, we switch gears and implement our own data structures from scratch, including linked lists, trees, heaps, hash tables, and graphs. We learn to traverse trees and graphs, and cover Dijkstra's Shortest Path Algorithm. The course also includes an entire section devoted to Dynamic Programming.

Here's why this course is worth your time:

  • It's interactive - I give you a chance to try every problem before I show you my solution.

  • Every single problem has a complete solution walkthrough video as well as accompanying solution file.

  • I cover helpful "tips and tricks" to solve common problems, but we also focus on building an approach to ANY problem.

  • It's full of animations and beautiful diagrams.

Are you looking to level-up your developer skills? Sign up today.

Enroll now

What's inside

Learning objectives

  • Learn everything you need to ace difficult coding interviews
  • Master dozens of popular algorithms, including 6 sorting algorithms!
  • Implement 10+ data structures from scratch
  • Improve your problem solving skills and become a stronger developer

Syllabus

Introduction
Curriculum Walkthrough
Join The Community!
What Order Should You Watch In?
Read more
How I'm Running My Code
Big O Notation
Intro to Big O
Timing Our Code
Counting Operations
Visualizing Time Complexities
Official Intro to Big O
Simplifying Big O Expressions
Big O Time Complexity Quiz
Big O Time Complexity Quiz 2
Space Complexity
Big O Space Complexity Quiz
Logs and Section Recap
Analyzing Performance of Arrays and Objects
PREREQUISITES
Section Introduction
The BIG O of Objects
Object Operations Quiz
When are Arrays Slow?
Big O of Array Methods
Array Operations Quiz
Problem Solving Approach
Introduction to Problem Solving
Step 1: Understand The Problem
Step 2: Concrete Examples
Step 3: Break It Down
Step 4: Solve Or Simplify
Step 5: Look Back and Refactor
Recap and Interview Strategies
Problem Solving Patterns
Intro to Problem Solving Patterns
Frequency Counter Pattern
Frequency Counter: Anagram Challenge
Frequency Counter - validAnagram
Anagram Challenge Solution
Multiple Pointers Pattern
Multiple Pointers: Count Unique Values Challenge
Multiple Pointers - countUniqueValues
Count Unique Values Solution
Sliding Window Pattern
Divide And Conquer Pattern
100% OPTIONAL Challenges
IMPORTANT NOTE!
Frequency Counter - sameFrequency
Frequency Counter / Multiple Pointers - areThereDuplicates
SOLUTIONS PART 1
Multiple Pointers - averagePair
Multiple Pointers - isSubsequence
SOLUTIONS PART 2
Sliding Window - maxSubarraySum
Sliding Window - minSubArrayLen
Sliding Window - findLongestSubstring
SOLUTIONS PART 3
Recursion
Story Time: Martin & The Dragon
Why Use Recursion?
The Call Stack
Our First Recursive Function
Recursion Quiz
Our Second Recursive Function
Writing Factorial Iteratively
Writing Factorial Recursively
Common Recursion Pitfalls
Helper Method Recursion
Pure Recursion
Recursion Problem Set
START HERE!
power
factorial
productOfArray
recursiveRange
fib
SOLUTIONS FOR THIS SECTION
Bonus CHALLENGING Recursion Problems
NOTE ON THIS SECTION
reverse
isPalindrome
someRecursive
flatten
capitalizeFirst
nestedEvenSum
capitalizeWords
stringifyNumbers
collectStrings
Searching Algorithms
Intro to Searching
Intro to Linear Search
Linear Search Exercise
Linear Search Solution
Linear Search BIG O

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers the most crucial aspects, offering a great introduction to interviews
Offers comprehensive coverage of fundamental data structures and algorithms, including the 'Big O' concept, making it a great foundation builder
Taught by Colt Steele, renowned for his successful bootcamps, providing learners with access to expert knowledge and insights
Designed for aspiring developers or those seeking to advance their career in software engineering
In-depth coverage of key advanced topics like Dynamic Programming and Graph Theory, suitable for learners seeking a deeper understanding
Interactive approach with ample practice opportunities through the provision of solution walkthrough videos and solution files

Save this course

Save JavaScript Algorithms and Data Structures Masterclass to your list so you can find it easily later:
Save

Reviews summary

Engaging but distracting

Students say that this course is engaging and educational with difficult exams but they also report that the instructor often distracts from the material with random comments. Overall, feedback on this course is largely positive.
Instructor frequently goes off-topic.
"It was a good course but the instructor continuously interjects random comments, wasting time and distracting from the point he is trying to make."
Exams are challenging.
"It was a good course but the instructor continuously interjects random comments, wasting time and distracting from the point he is trying to make. I find this very distracting. Otherwise a great course and I learned a lot."

Career center

Learners who complete JavaScript Algorithms and Data Structures Masterclass will develop knowledge and skills that may be useful to these careers:
Software Engineer
This course will provide you with the necessary skills to ace coding interviews and become a Software Engineer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Data Scientist
This course will help you build the skills you need to become a Data Scientist. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Web Developer
This course will provide you with the skills you need to become a Web Developer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Mobile Developer
This course will help you build the skills you need to become a Mobile Developer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Game Developer
This course will provide you with the skills you need to become a Game Developer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Computer Scientist
This course may be useful for those interested in a career as a Computer Scientist. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Information Security Analyst
This course may be useful for those interested in a career as an Information Security Analyst. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Data Analyst
This course may be useful for those interested in a career as a Data Analyst. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Database Administrator
This course may be useful for those interested in a career as a Database Administrator. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are essential for success in this role, and this course will help you build a strong foundation.
Business Analyst
This course may be useful for those interested in a career as a Business Analyst. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role, but they may be helpful.
Project Manager
This course may be useful for those interested in a career as a Project Manager. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role, but they may be helpful.
Product Manager
This course may be useful for those interested in a career as a Product Manager. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role, but they may be helpful.
Technical Writer
This course may be useful for those interested in a career as a Technical Writer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role, but they may be helpful for understanding the technical aspects of software development.
Sales Engineer
This course may be useful for those interested in a career as a Sales Engineer. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role, but they may be helpful for understanding the technical aspects of software development.
Recruiter
This course is unlikely to be useful for those interested in a career as a Recruiter. You will learn about data structures and algorithms, as well as how to solve common coding problems. These skills are not essential for success in this role.

Reading list

We've selected 17 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in JavaScript Algorithms and Data Structures Masterclass.
Is another classic textbook on algorithms and data structures. It is more comprehensive than Algorithms, and valuable reference for anyone who wants to learn more about the field.
Classic textbook on algorithms and data structures. It provides a comprehensive overview of the field, and valuable reference for anyone who wants to learn more about algorithms.
Textbook on data structures and algorithms in Java. It valuable resource for anyone who wants to learn more about data structures and algorithms in Java.
Textbook on data structures and algorithms in Python. It valuable resource for anyone who wants to learn more about data structures and algorithms in Python.
Guide to the good parts of JavaScript. It valuable resource for anyone who wants to learn more about JavaScript.
Comprehensive guide to JavaScript. It valuable resource for anyone who wants to learn more about JavaScript.
Beginner's guide to Java. It valuable resource for anyone who wants to learn more about Java.
Guide to writing clean code. It valuable resource for anyone who wants to learn more about writing clean code.
Classic book on software development. It valuable resource for anyone who wants to learn more about software development.
Classic book on design patterns. It valuable resource for anyone who wants to learn more about design patterns.
Classic book on test-driven development. It valuable resource for anyone who wants to learn more about test-driven development.
Classic book on domain-driven design. It valuable resource for anyone who wants to learn more about domain-driven design.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to JavaScript Algorithms and Data Structures Masterclass.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser