The Ultimate Data Structures & Algorithms: Part 1

Ace your coding job interview. Learn to write better and faster code.

   Enroll in Course

Boost Your Employability

Studied Computer Science - but never really understood the complex topic of data structures and algorithms?

Or maybe you’re a self-taught programmer, with little to no knowledge of this important topic.

Or perhaps you failed a job interview because you couldn't answer basic data structure and algorithm questions.

Data structures and algorithms are patterns for solving problems. Developers who know more about data structures and algorithms are better at solving problems.

That’s why companies like Google, Microsoft and Amazon, always include interview questions on data structures and algorithms. They want to assess your problem-solving skills. They don't care how many programming languages and frameworks you're familiar with

  • Beginner
  • Lifetime Access
  • 120 Lessons
  • 4.5 Hours of Video
  • Interview Questions
  • Downloadable
  • Subtitles
  • Access on Mobile/TV
  • Certificate

Hi! I'm Mosh and I want to demystify data structures and algorithms for you.

By the end of this course, you'll be able to…

  • Ace your next coding interview
  • Write better, faster code
  • Become a better developer
  • Improve your problem solving skills
  • Master computer science fundamentals
  • Implement all the essential data structures from scratch
  • Master dozens of popular algorithms

What You'll Learn

This course is the first of a series. In this part, we'll be focusing on linear data structures. Part 2 is all about trees and graphs. Part 3 is about searching, sorting and string manipulation algorithms.

Here's what you're going to learn in the first part:

  • The Big O notation
  • Arrays
  • Linked Lists
  • Stacks
  • Queues
  • Hash Tables

This is the most comprehensive data structures and algorithms series online. Every example and exercise is picked from popular interview questions asked by Google, Microsoft, Amazon and other big companies.

Most data structure books and courses are too academic and boring. They have too much math and their code looks ugly, old and disgusting! This course is fun and easy to follow and shows you how to write beautiful code like a software engineer, not a mathematician.

Who is this course for?

  • Anyone preparing for a coding job interview
  • Computer science students whose lecturers failed to explain the topics
  • Self-taught developers who missed out on a computer science degree
  • Anyone who wants to become a better developer


In this course, I use Java to teach the concepts but you can apply these concepts in any programming language. Our focus is on data structures and algorithms, not programming languages and tools.

All you need to take this course are some basic programming skills. If you know variables, loops, and conditional statements, you're good. If you need a quick refresher to get up to speed with Java syntax, you can watch the first part of my Java series.

You don't need any experience with data structures or algorithms.

Join 76120 happy students!

Enroll in Course

Data structure in one of the most important aspects to Excel in any programming language and to write efficient/flexible code. @moshhamedani have created this course in super structured way splitted in quick short videos and super clean explanation with examples. #DataStructures
— Niraj Vishwakarma (@nirajv21) February 4, 2020

I have just completed @moshhamedani 's #DataStructures part 1 . Being an #autodidact fullstack developer - it really opened my eyes to some of the fundamental gaps in my knowledge.

— Søren Lund (@lund76) June 3, 2020

@moshhamedani thanks a lot for creating such a wonderful course on #DataStructures. Really making most of my time taking your course being stuck at home in #coronaviruslockdown.

— AYUSH GOSWAMI (@AyushGo92179843) May 27, 2020

@moshhamedani Thank you for such a wonderful course on Binary Tree, AVL Tree, Trie, Heap and Graph implementations. I liked the pattern of letting me code before you do. The best part was code refactoring. Such a clean and expressive code! #DataStructures pic.twitter.com/IF2LrHaNe6

— Viru (@super_viru) May 4, 2020

"Mosh, let me tell you I have been winning the code competitions here in India and excelling in my work and it gives me a great proud to say that you are my teacher. I have purchased every course you have uploaded till now and looking forward to learn everyday with you. Cheers!!"

- Karan Valecha

"I’ve actually landed my first job as a Junior software developer. I owe a lot of it to you because your courses have been EXTREMELY helpful. This has really changed my life from working as a security guard and doing websites for free, now I am a professional."

- Danish Jafri

Course Curriculum

  Getting Started
Available in days
days after you enroll

Your Instructor

Mosh Hamedani
Mosh Hamedani

Hi! My name is Mosh Hamedani. I'm a software engineer with two decades of experience. I've taught millions of people how to code and how to become professional software engineers through my online courses and YouTube channel.

I believe coding should be fun and accessible to everyone.

30-Day Money-Back Guarantee

Try it risk-free

You can ask for a refund any time during the first 30 days
if you decide the course isn’t for you.

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
What programming language is used in this course?
I've used Java to demonstrate these concepts but you can apply these concepts in any programming language. This course is about data structures and algorithms, not programming languages or tools.
How much Java should I know to take this course?
I've tried to minimize my usage of Java features to the bare minimum. All you need to know are the basics of variables, classes, methods, loops, and conditional statements. You can watch the first part of my Java series (3.5 hours) to get up to speed.
Will you re-create this course for JavaScript, Python or C# in the future?
No! This course is about problem-solving, not languages and tools. Re-creating 10+ hours of these videos using a different programming language would be a waste of my time. I'd rather spend that time creating courses on other essential topics rather than repeating the same thing using different languages.

Ace Your Next Coding Interview

Mastering data structures and algorithms is essential to getting your dream job. Don't waste your time browsing disconnected tutorials or super long, boring courses. Enroll in the course to get:

  • 4.5 hours of HD videos
  • 120 lessons
  • Popular interview questions
  • Step-by-step solutions
  • Certificate of completion
  • Lifetime access
  • Downloadable source code
  • Learn at your own pace
  • Watch online or offline
  • Watch on any device

Join 76120 happy students!

Stop wasting your time jumping from one video tutorial to another.

With our amazing reviews and money back guarantee, what are you waiting for?

Single Course Payment

Own it forever!

$10 $49 Limited time at this price
Buy Now