We may earn an affiliate commission when you visit our partners.
Course image
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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive js algorithms and data structures

According to learners, this course is a highly effective resource for mastering algorithms and data structures in JavaScript, particularly for coding interview preparation. Students frequently praise the excellent instructor, Stephen Grider, and his clear explanations of topics like Big O and recursion. The unique problem-solving framework and the focus on building data structures from scratch are highlighted as major strengths. While overwhelmingly positive, some reviewers mention the pacing can be fast and that it assumes familiarity with JavaScript. Overall, it's considered a valuable investment for those aiming to deepen their CS knowledge.
Implementing data structures from scratch is helpful.
"Implementing them from scratch helped solidify my understanding."
"Building data structures from scratch was a highlight."
"The hands-on coding and projects are the strongest part of the course for me."
Great for interview preparation and problem solving.
"This course was exactly what I needed to prepare for coding interviews. I landed my dream job shortly after completing it."
"The step-by-step approach to problem solving is invaluable."
"Prepared me effectively for technical interviews."
"Absolutely essential for interview preparation. Covered all the key algorithms and data structures I encountered."
Instructor explains complex concepts clearly.
"Stephen Grider is an excellent instructor, explaining complex topics like dynamic programming and graph traversal with clarity."
"The explanations of Big O notation and recursion were the clearest I've ever seen."
"The instructor's teaching style is engaging. ... The instructor is great at breaking things down."
"Stephen explains Big O and problem-solving techniques is top-notch."
Some advanced topics could use more detail.
"Some of the advanced topics like graphs were dense, but the accompanying diagrams were useful. ... you might need to supplement some parts..."
"I felt the advanced topics like graphs and dynamic programming could have used a bit more practical examples or challenges."
"Some topics, like tree traversals, could be a bit more fleshed out with more complex examples."
Pacing can be fast, assumes prior JS knowledge.
"My main critique is that sometimes the exercises ... assumed slightly more background knowledge than advertised..."
"The course covers important topics, but the pacing can be very fast, especially in the later sections. Assumes you are comfortable with JavaScript syntax already."
"Honestly, I struggled with this course. It moves too quickly..."
"Decent course, but definitely requires prior programming knowledge. The JavaScript basics aren't really reviewed."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in JavaScript Algorithms and Data Structures Masterclass with these activities:
Attend meetups and conferences related to computer science
Attending meetups and conferences will allow you to connect with other professionals in the field and learn about the latest trends.
Show steps
  • Find meetups and conferences related to computer science.
  • Attend the events and introduce yourself to other attendees.
  • Participate in discussions and ask questions.
  • Exchange contact information with other professionals.
Solve LeetCode problems tagged for this course
Practicing LeetCode problems will reinforce your understanding of the algorithms and data structures covered in this course.
Browse courses on Sorting Algorithms
Show steps
  • Find problems tagged for this course on LeetCode.
  • Attempt to solve the problem on your own.
  • Review the optimal solution provided by LeetCode.
  • Implement the optimal solution in your own code.
  • Test your solution against the LeetCode test cases.
Write a blog post summarizing a key concept
Writing a blog post will help you solidify your understanding of a key concept and share your knowledge with others.
Browse courses on Algorithm Design
Show steps
  • Choose a key concept from the course.
  • Research the concept and gather information.
  • Write a blog post that explains the concept clearly.
  • Publish your blog post and share it with others.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Watch tutorials on advanced algorithm topics
Watching tutorials on advanced algorithm topics will supplement the material covered in this course and deepen your understanding of these concepts.
Browse courses on Dynamic programming
Show steps
  • Identify areas where you need additional support.
  • Find tutorials on those topics from reputable sources.
  • Watch the tutorials and take notes.
  • Practice implementing the algorithms discussed in the tutorials.
Attend a workshop on advanced algorithm techniques
Attending a workshop on advanced algorithm techniques will provide you with hands-on experience and help you learn from experts in the field.
Show steps
  • Find a workshop that covers advanced algorithm techniques.
  • Register for the workshop and attend all sessions.
  • Participate in the hands-on exercises and ask questions.
  • Network with other attendees and learn from their experiences.
Participate in coding competitions
Participating in coding competitions will test your skills and knowledge, and help you develop your problem-solving abilities.
Show steps
  • Find coding competitions that are relevant to your interests.
  • Practice solving coding problems on your own.
  • Participate in coding competitions and try your best.
  • Review your performance and identify areas for improvement.
Mentor a junior developer
Mentoring a junior developer will reinforce your understanding of the course material and help you develop your leadership skills.
Show steps
  • Find a junior developer to mentor.
  • Meet with your mentee regularly to discuss their progress.
  • Provide guidance and support on technical and career-related topics.
  • Help your mentee develop a strong foundation in computer science.

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser