Data Structures and Algorithms by Caleb Curry

Data Structures and Algorithms

A Complex Subject, taught Simply

When I first learned data structures and algorithms, it was hard. I got frustrated when I didn't immediately understand how to do things like reverse a linked list (or understand why I would want to). It seemed as though all the resources out there were very technical and mathematical. 

I resolved to fix this. 

My goal was simple:  
  1. Study data structures and algorithms until I had a simple and intuitive understanding
  2. Release the world's first data structures and algorithms course that actually made sense.

I wanted to understand these concepts so well that I could teach them to a 5 year old. But even if you're not 5, there's hope for you with this course!

By the end of this course, you'll be able to: 
  • work with data structures and algorithms naturally,
  • grasp the underlying concepts to conquer any new data structure or algorithm,
  • program the most important data structures,
  • implement the most important algorithms,
  • understand scalability through the eyes of time and space complexity,
  • have the skills necessary to compete in job interviews and in your career.

When you sign up, you'll get unlimited access to any updates or new content.

Meet Your Instructor

I'm Caleb Curry! I've taught millions to code through Udemy (200K+ students) and YouTube (250K+ subs). I've covered C++, Python, JavaScript, machine learning, databases, and much more!
Achievements unlocked:
  • Bachelor's degree in CS
  • Collaborated with top publishers (O'Reilly) 
  • Have worked with leading tech companies (IBM, Oracle, MongoDB...)
  • International speaker for conferences and universities
  • Created the most engaging course on the internet (let me prove it 😉) 


"Caleb is a prolific contributor to the freeCodeCamp community. Through his tutorials and YouTube videos, he has helped thousands of people understand key computer science concepts. I am proud to call myself a Caleb Curry fan, and I think you will be, too."
Quincy Larson ( Founder)
"Caleb is a great teacher, and he is very knowledgeable in many different programming languages and technologies. I have featured him on the Traversy Media YouTube channel and plan on doing more collaborations in the future."
Brad Traversy (Traversy Media on YouTube)
"When it comes to explaining complex topics in a way that is easy to understand, there is no one better than Caleb. His videos are not only educational but incredibly entertaining as well. This is why I plan on naming all of my children 'Caleb Curry', sons and daughters alike."
Bucky Roberts (thenewboston on YouTube)
"Caleb's has years of experience creating engaging, easy to understand content on a variety of technical subjects. He provide's just enough depth to grasp the topic but doesn't overwhelm you with the small details. I'm a professional software engineer with years of experience and I still continuously learn from Caleb's videos!"
Be a Better Dev (YouTube)
"Caleb is a wonderful instructor. He’s knowledgeable yet down-to-earth, and teaches programming without going overboard with fluff or useless info. I’m taking his C Programming Crash Course right now and am learning a TON. If you enjoy his YouTube videos, you’re going to love his stuff on CodeBreakthrough."
RealToughCandy (YouTube)
"Caleb's tutorials are absolutely wonderful. With years of experience, he has become an expert on teaching intricate concepts in an easy-to-understand and engaging way. And with his sense of humor, it makes learning with him enjoyable as well as uplifting. You won't regret choosing him to learn more about..."
Adam Schroeder (Charming Data on Youtube)

What's included?

Video Icon 23 videos Text Icon 1 text file


Classes and Objects I
Intro to Classes and Objects
17 mins
Challenge to Build Classes
9 mins
Overriding Methods
11 mins
Challenge to Override Methods
8 mins
Class Level Variables (_static_) and Reading Files
5 mins
Final Challenge to Read Object from txt File
7 mins
Classes and Objects II
11 mins
11 mins
Encapsulation and Properties
13 mins
Linked Lists I
Intro to Linked Lists
12 mins
Create a Simple Linked List from Scratch
10 mins
Print Linked List and Get Nodes
9 mins
Length of Linked List
9 mins
Linked Lists II
Override __iter__ to Iterate List
11 mins
Insert Data into List
12 mins
Removing Data from List
9 mins
Search Linked List for Data
10 mins
Comparing Linked Lists
13 mins
Linked List Reversal and Doubly Linked Lists
Linked List Reversal Explained
9 mins
Algorithm to Reverse a Linked List
5 mins
Intro to Doubly Linked Lists
7 mins
Creating Doubly Linked List
11 mins
Reversed Iterator for Doubly Linked List
4 mins
More episodes coming soon


Is this course for me?

Are you wanting to get a job as a software engineer or need help getting through technical interviews? This course is for you! 

Are you a computer science student who takes learning seriously? this course is for you.

Are you already a developer but need practice applying programming concepts and solidifying the building blocks of programming? This course is for you.

Is this a concept course, or hands on?

Both! Many of the concepts are taught in person with diagrams. We then follow up with hands on examples. 

Can I choose to use a different programming language?

This course is suitable for any language. Data structures and algorithms apply to any programming language. In fact, following this course with a new language would be a great way to practice.

What programming language is used?

 I chose Python as it's the easiest to use and has the lightest syntax. However, the data structures and algorithms remain the same regardless of language.