Data Structures and Algorithms Early Access
I'll teach you the Exact DSA topics you need for software engineering and technical interviews
Go from a beginner to having a deep understanding of data structures and algorithms. Conquer any problem thrown your way.
Buy Now 
    
    
  
00
DAYS
00
HOURS
00
MINS
00
SECS
Why Data Structures and Algorithms?
I built this course because there is a major gap for most software engineers when it comes to fundamental data structures and algorithms (DSA). Often, DSA is seen as just something for academics or only valuable for technical interviewing, but there's so much more. Yes, this course will help you land technical roles, but more importantly this course will give you an intuition around data structures and algorithms so you understand them. Instead of memorizing, you'll be able to reason about problems and the logically come to solutions. Consider this to be the core skills to solve any DSA problem thrown your way.
It's time to master both the theory of DSA and get practice with hands on training.
In your career, DSA skills will help you land better roles and make more money. In the real world, DSA skills will mean the difference between building mediocre, slow apps and building highly performant systems.
Unsure where to begin? Look no Further!
The curriculum of this course covers the most critical core concepts you need to know. Learn the inside secrets that not only help you solve problems but solve them in the best way possible.
You may be overwhelmed with the amount of information to learn. This course will:
- Give you core skills that make learning any new data structures or algorithms easier,
- Focus on the MOST IMPORTANT data structures and algorithms to cover almost all problems (Curriculum choices were inspired by mentoring from a high level Google Engineer leading real interviews),
- Give you the skills to get through technical interviews and solve big data problems in the real world.
If you use just one resource for learning DSA, this course is it. There are tons of ways to learn DSA, but I've found that most teach it wrong, make it too abstract and confusing, or waste time on things that aren't important. A bad approach actually does more harm than good.
These lessons contain the MOST IMPORTANT skills for DSA that I've picked up in my 10+ years in tech.
I’m confident that if you follow the plan and curriculum I provide, you will achieve your goal. The path is laid out right in front of you—all you have to do is commit.
Level I - Fundamentals
Build an intuition around algorithms
- Understand how to measure algorithm performance
- Classify algorithms in to the most important complexity categories
- Measure and chart performances to compare results across algorithms as the size of data grows
- Explore both iterative solutions and recursive solutions
 
    
    
  
 
    
    
  
Master Complexities
- Learn time and space complexity for major data structures and algorithms
- Be able to classify operations intuitively in to the most common categories of complexity
- Complexity made simple - Don't stress about calculating time and space complexities. I'll make it so simple you'll never need to stress about math or Big O
- Learn what interviewers actually care about when it comes to complexity. We're here to write software, not research papers
Understand the most important operations
- Choose between data structures by understanding how all their operations work behind the scenes
- Understand common tradeoffs between time and space complexity to build the best possible solutions to given problems
- Understand amortized time, random access, caching and potential optimizations, and other nuances for data structure operations
 
    
    
  
 
    
    
  
Conquer Data Structures
- Build a deeper intuition for how data structures work by implementing some yourself from scratch
- Learn the key use cases for the most common data structures and what makes a data structure a good choice for a problem
- Learn how things work behind the scenes for various programming structures. This gives you that next-level understanding of code usually reserved for senior engineers :)
- Be able to give intelligent answers to tricky interview questions by reasoning about the problem
Learn Algorithm Optimization and Principles of Hashing
- Did you know that hashing is one of the most common things in computer science and software development? Yet many people don't understand how it works or just see it as magic. We'll change that
- Many major data structures are built with hash functions. Learn how these data structures work and what makes hashing so powerful
- Learn how to optimize algorithms using memoization and understand different structures such as LRU caches
 
    
    
  
Level II - Advanced
 
    
    
  
The Secrets of Sorting
- It seems there are a million sorting algorithms. Learn which ones actually matter and when to use what sorting algorithms
- Explore the "secrets" that allow big tech companies to manage large amounts of data. Sometimes you don't have to sort the data all the way, or there's a special data structure that can make things much faster
- Explore comparison vs non-comparison sorts and stable vs unstable sorts
 
Search Datasets like a Pro
- It's time to go beyond linear search. Let's conquer search by learning the most important approaches to searching
- Radically optimize solutions with the proper sort techniques
- Understand Top-k algorithms and how to solve these problems better than the typical engineer
- Understand the balance between sorting and searching and when data needs to be sorted
 
    
    
  
 
    
    
  
 
Learn Heaps
- Heaps are a structure that can be used to solve a unique set of problems, learn exactly when to use them and what makes them special
- Discover alternative solutions to heap problems that may perform better
- Understand trees and the difference between a tree data structure and an abstract data structure that utilizes tree visualizations
Learn Algorithms Used for Modern Apps
- While some modern apps can be very complex and utilize many different algorithms, they're often built on principles of a few core algorithms.
- Learn the fundamentals of graph theory and the types of problems it can solve
- Go beyond the theory - discover the most important algorithms used in the real world
 
    
    
  
 
    
    
  
Discover Graphs and Graph Databases
- Learn the fundamentals of graph theory
- Discover how to represent data and the relationships between data
- Learn about graph databases used to store highly related data
- Discover the types of scenarios that can be represented with graphs and how graph algorithms can solve unique problems
Learn the types of Trees and Traversals
- Learn what type of data should be represented as a tree
- Learn the types of trees and their use cases. For example, you may choose to use BST if you want to be able to search through the data efficiently
- Learn about self balancing trees and other variations
- Learn about in pre-order, in-order, and post-order traversal
- Understand how to reason about tree problems and solve them
 
    
    
  
 
    
    
  
Backtracking and Dynamic Programming
- Often feared by most software engineers, we will tackle backtracking and DP to solve advanced computer science problems
- Build stronger skills in tree and graph traversal now with more advanced variations
- Learn about the different approaches of DP and which approach is preferred by recruiters
- Understand when you should prioritize learning DP and when you should invest your time elsewhere
BONUS! LeetCode 100 - Video Course
Custom Curated LeetCode List + Video Walkthroughs to help you apply what you've learned.
The best part? It's FREE for all launch week customers.
100 Detailed video solutions of the most important DSA problems
+ Interview Strategies learned from Meta and Google Engineers
Exclusive launch bonus!
 
    
    
  
Comprehensive eBooks for all Levels
Engage your mind not only through video, but with detailed eBooks containing code, images, resources, and explanations. Lessons are organized nicely by video for you to follow along and use as a reference.
This is extensive. The full eBook is entirely written by me.
 
    
    
  
"As a self taught developer I’m always searching for videos on various topics. It’s difficult to find good teachers though. That’s why I was super happy to have stumbled on Caleb. He breaks down topics in a very digestible and engaging way and I owe a lot where I am today to his videos."
Linse - Senior Software Engineer at CapitalOne
This course is for you if:
- You're tired of feeling lost when it comes to DSA
- You don't want to learn DSA from a math-heavy academic perspective
- You want to understand both the DSA theory and the DSA applications
- You want to know the most important things to thrive in technical interviews
- You want to know how data structures and algorithms are used in the real world
- You're an early career dev looking to level up or land better roles
- You're ready to step up your game and increase your computer science understanding
- You're ready to stand out in your career and are tired of being held back by DSA
- You need a practical guide to DSA
Early Access Sale!
With early access you gain access to the material as it is released.
00
DAYS
00
HOURS
00
MINS
00
SECS
What Happens After Early Access Closes?
The free Leetcode BONUS course is Gone.
The DSA course closes until the material is complete.
DSA will reopen when the course content is complete, but the early access bonuses are gone.
Have Any Questions?
Is this course early access?
What is the release schedule?
When will this course be complete?
What programming language is used?
Is this course beginner-friendly, or do I need coding experience?
Will I get support if I get stuck?
What if I’m not completely happy with this course?
Will this course help me land a job?
What if I have more questions?
What Others Have to Say
 
    
  
  Tanea Buiucli
When learning about databases, Caleb’s tutorials were the most simply-put and well-explained. He was coming up with examples in real time, which also showed his thought process. Caleb helped me visualize the material which allowed me to understand the new concepts faster. Best of all, I’ve used what I’ve learned from Caleb to land a job as a software developer 🙂
 
    
  
  Daniel Armaganian
Caleb’s content has been a game changer for my career. Since discovering his work, I’ve gone deeper into my studies of programming languages and software development, eventually leading me to pursue a degree in software engineering. Now, as a software engineer, I can confidently say that Caleb played a significant role in my professional achievements.
 
    
  
  Liz Ruiz
I've been studying software development as a full time x-ray tech. Caleb has guided me through this major career change and has helped me make massive progress with limited time. I highly recommend any of Caleb's courses if you wish to make the jump to code. Caleb simplifies hard to understand concepts and makes them easy to understand and learn!
 
    
  
  Argelio Rodriguez
I’m really grateful for Caleb. Thanks to his C++ tutorials, I was able to get an internship in my first year of college.
I look forward to more lessons from him 💪
 
    
  
  Clifford Fajardo
Caleb's SQL videos were helpful when I was learning about database design.
In fact, his videos still prove useful almost 5 years later after I first saw them as refreshers.
 
    
  
  Drea Estefania
Caleb’s simple explanations helped me improve my understanding of code. As a marketer working in a high tech field, understanding software development helps me perform better. I’d recommend him for anyone wanting to learn.
 
    
  
  Martina Rodic
Caleb’s content was the very first step in my C++ learning journey. I'm currently making my first game using C++ and Unreal Engine, and I'm still learning C++ daily! Caleb has an interesting way of explaining concepts and connecting them to real-world situations, making learning so much easier. You’ll love his C++ lessons. He slowly explained the lessons step by step, in a good sequence, making learning easier and more interesting.
 
    
  
  Kyle Talley
My coding journey began when I signed up for a CS1 class at my local community college. Searching for C++ courses on YouTube, I found Caleb’s course and was immediately hooked. His approach to teaching made learning simple and enjoyable, sparking my passion for coding. I continue to watch his videos to this day, and I can honestly say that without Caleb’s guidance, I might not be coding today, more than five years later.
 
    
  
  Michelle Hernandez
Caleb’s courses have been with me since the beginning of my journey in tech. Caleb has a special charm, making the most difficult concepts easy to understand. Caleb shows passion and a deep understanding for his craft, motivating and inspiring his viewers to become interpretive problem-solvers. I’ve really benefited from gaining his perspective anytime I feel stuck learning something new. I highly recommend any of his courses and content!
Hi, My name is Caleb Curry
When I started my career in software there was so much I didn't know. I had no clue what to study, what to expect, or how to actually get better.
 
    
    
  
Everyone is different in what they seek in life, but I think we can all agree that a career that offers fulfilling work, high pay, and flexibility is a major win (and it's completely achievable).
What I'm Known For
Achievements unlocked:
- Personally Landed multiple offers in tech and software engineering. Latest offer was for $240K/yr ($180K base). 100% remote! (Yes, they still exist),
- Co-founded a tech company supporting thousands of users all over the world,
- Collaborated with top course publishers (Pearson, CourseCareers),
- Have worked with leading tech companies (IBM, Oracle, MongoDB),
- Speaker for conferences and universities,
- Created the best course on the internet (let me prove it 😉) .
