Table of Contents
Today we’re looking at some of the best courses and books to learn algorithms this year.
What are algorithms?
In computer science, an algorithm is a set of rules that need to be followed to solve a problem or perform a computation.
The process of following a recipe to bake a cake is a perfect example of a delicious algorithm:
What is the best way to learn algorithms?
We’ve found that the best way to learn algorithms is either with courses or books.
And today we’re looking at 11 of the best courses and books to learn algorithms.
TLDR: Best Way to Learn Algorithms
๐ฅBest Course ๐ฅ
AlgoExpert
๐ฅ Best Book ๐ฅ
The Algorithm Design Manual
Learn Algorithms: Courses
Now we’ll check out some algorithms courses for beginners and beyond.
1. Data Structures and Algorithms in Python: Educative.io
๐ฐ Price: $59 for the course / $59 per month or $199 per year for all courses and Learning Tracks
โฒ๏ธ Duration: 19 hours
๐ Level: Intermediate
๐ฅ๏ธ Format: Interactive learning
๐๏ธ Certificate: Yes
Ready for a hands-on approach to learning algorithms?
Educative.io is the only platform on our list to learn algorithms that uses exclusively interactive learning.
This means you’ll do all exercises within the same browser.
In the intermediate course Data Structures and Algorithms in Python, you’ll learn about the most common data structures and algorithms.
Course Layout
With 14 challenges and 91 coding playgrounds, you’ll learn about:
โ stacks
โ linked lists
โ arrays
โ recursion
And much more.
In each module, you’ll work on a series of lessons, examples and exercises:
Find out why Eric loves Educative.io:
Support
Educative.io has a section at the end of each lesson where you can get support from instructors, moderators and other students.
2. Introduction to Algorithms in Python: RealToughCandy.io
๐ฐ Price: Free
โฒ๏ธ Duration: 2 hours
๐ Level: Beginner+
๐ฅ๏ธ Format: Video
๐๏ธ Certificate: No
Like Zero to Mastery, RealToughCandy.io is a newbie-friendly, video-based learning platform.
That means for this course, you’ll do all work on your local computer.
Introduction to Algorithms in Python is a free course taught by Joy Brock, a skillful and enthusiastic Pythonista.
Her teaching style is informative with a bit of humor sprinkled in.
This can make learning a bit lighter than some other algorithms courses.
For this algorithms course, you should have a firm grasp of Python basics like:
๐ loops
๐ variables
๐ functions
And more.
This course can be beneficial for new software developers, aspiring machine learning engineers, and for “pre-FAANG” prep.
It covers:
โ recursive algorithms
โ data structures
โ divide & conquer
โ greedy algorithms
โ dynamic programming
No previous algorithms experience is required.
Course Layout
Introduction to Algorithms in Python clocks in at around 2 hours of runtime.
But don’t let that fool you.
This is a fast-paced course jam-packed with information.
In fact, you’ll work on more than 15 coding challenges such as:
โ factorials
โ permutations
โ traveling salesman problem
โ fractional knapsack problem
And many more.
Problems range from “Easy” to the challenging “Mindbreaker.”
You’ll also find over 60 quiz questions that are multiple choice, true/false and fill-in-the-blank.
Support
RealToughCandy.io has a Discord with 24/7 support.
3. Master the Coding Interview: Data Structures + Algorithms: Zero to Mastery
๐ฐ Price: $39 per month or $279 per year for all courses
โฒ๏ธ Duration: 19.5 hours
๐ Level: Intermediate
๐ฅ๏ธ Format: Video
๐๏ธ Certificate: Yes
Like Treehouse, Zero to Mastery is a video-based, newbie-friendly learning platform. So you’ll do all work on your local machine.
But Zero to Mastery has something no other platform has got: Andrei Neagoie.
For those of you who don’t know, Andrei is a renowned instructor of well-known courses like Complete Web Developer and Master the Coding Interview: Big Tech (FAANG) Interviews.
He was also a Senior Software Developer for companies in Toronto and Silicon Valley.
Master the Coding Interview: Data Structures + Algorithms follows in the footsteps of Andrei’s other top-rated courses.
In this intermediate course, you’ll learn how to ace coding interviews by becoming a better developer.
This includes learning and implementing different data structures and algorithms.
Course Layout
In this video-based course, you’ll find over 20 modules covering topics like Big O notation and solving coding problems. More importantly, you’ll spend the majority of your time with data structures and algorithms such as:
โ recursion
โ sorting
โ searching
And dynamic programming.
Each module contains a series of detailed video lessons.
What students are saying about RealToughCandy.io:
Support
Zero to Mastery has Discord and LinkedIn communities where you can interact with instructors and other students.
Use code FRIENDS10 at checkout and SAVE 10%
4. AlgoExpert
๐ฐ Price: $99 per year
โฒ๏ธ Duration: 100+ hours
๐ Level: Beginner+
๐ฅ๏ธ Format: Interactive learning + video
๐๏ธ Certificate: Yes
AlgoExpert is the brainchild of ex-Google and ex-Facebook employee Clรฉment Mihailescu.
He actually created the platform to help himself prepare for his Facebook interview (it worked)!
With AlgoExpert’s unique blend of interactive learning (Educative.io) and video lessons (Zero to Mastery), you’ll find well over 150 algorithms questions ranging from Easy to Very Hard.
In addition to algorithms questions, you’ll find a data structures crash course.
Layout
AlgoExpert has a 4-pane integrated workspace where you can:
โ read the prompt
โ use the scratchpad
โ see solutions with spoiler alert function
โ watch the video explanation
You can solve problems in 9 programming languages:
JavaScript | TypeScript | Python |
Swift | Kotlin | C++ |
Java | C# | Golang |
Find out what Nick thinks of AlgoExpert:
Support
You won’t find an official AlgoExpert community. But there are plenty of forums online where you’ll find other AlgoExpert users.
Use AlgoExpert promo code realtoughcandy at checkout and SAVE 10%
5. Java: Algorithms: Codecademy Pro
๐ฐ Price: $39.99 per month or $239.88 ($19.99/mo) for all courses and Learning Tracks
โฒ๏ธ Duration: 7 hours
๐ Level: Beginner
๐ฅ๏ธ Format: Interactive learning + video
๐๏ธ Certificate: Yes
Codecademy Pro uses a blend of interactive learning paired with the occasional video. You’ll do all work inside the browser.
So it’s kind of like Educative.io, but with videos.
In the beginner course Java: Algorithms, you’ll spend plenty of time on recursion. Then you’ll look at searching and sorting algorithms.
Course Layout
There are 3 modules in Java: Algorithms:
โ Recursion
โ Algorithmic Complexity
โ Searching and Sorting
Each module contains articles, lessons and multiple choice quizzes.
Support
Codecademy Pro has forums where you can connect with other students, get help and share projects.
6. Land a Job Easily: Java Algorithms & Data Structures Interview Questions: BitDegree
๐ฐ Price: $16.65
โฒ๏ธ Duration: 1.5 hours
๐ Level: Intermediate
๐ฅ๏ธ Format: Video
๐๏ธ Certificate: Yes
BitDegree follows in the footsteps of Zero to Mastery and Treehouse. Java Algorithms & Data Structures Interview Questions is completely video-based.
So you’ll do all work on your local machine.
In this intermediate course, you’ll look at some of the most popular data structures and algorithms asked at tech interviews.
Course Layout
In Java Algorithms & Data Structures Interview Questions, you’ll watch a series of videos presenting problems and solution walkthroughs.
You’ll work on problems such as:
โ palindrome
โ two eggs
โ k-th smallest element in a search tree
And beyond.
All problems and solutions are presented in Java. Duh.
Support
BitDegree has a support section after most videos where you can get help from instructors and other students.
7. Introduction to Algorithms: Treehouse
๐จ ALERT ๐จ
As of September 2021, Treehouse has laid off 90% of its staff. The future of Treehouse is unknown.
๐ฐ Price: $25 per month for all courses and Learning Tracks / $49 per month for additional content
โฒ๏ธ Duration: 2.25 hours
๐ Level: Beginner
๐ฅ๏ธ Format: Video
๐๏ธ Certificate: No
Unlike Educative.io, Treehouse is a video-based learning platform that newbies flock to. You’ll do all work outside of the browser on your local machine.
In the beginner course Introduction to Algorithms, you’ll first learn how to evaluate algorithms and develop algorithmic thinking. From there, you’ll discover:
โ time and space complexity
โ linear and binary search
And beyond.
Course Layout
Introduction to Algorithms contains four modules where you’ll play a counting game, implement algorithms and more.
Each module contains a series of video lessons and quizzes.
For example, in the last module, you’ll learn about recursive functions and space complexity. Then you’ll recap and answer 4 multiple choice questions.
Support
Treehouse has a forum where you can get help from other students.
Learn Algorithms: Books
Now we’ll take a look at some of the best books for learning algorithms.
8. Grokking Algorithms
๐จ Ideal for: self-taught programmers, engineers
๐ฅ Major topics: search, sort and graph algorithms
In Grokking Algorithms, you’ll find over 400 illustrations covering search, graph and sort algorithms.
With detailed walkthroughs, you’ll learn how to apply common algorithms to every day programming problems.
You’ll also work with data compression and artificial intelligence.
All code samples are written in Python.
9. The Algorithm Design Manual
๐จ Ideal for: programmers, researchers, students
๐ฅ Major topics: randomized algorithms, hashing, divide and conquer
Like Grokking Algorithms, The Algorithm Design Manual by Steven Skeina takes an image-rich approach to designing and analyzing algorithms. With over 100 problems from LeetCode and HackerRank, you’ll discover:
- randomized algorithms
- hashing
- divide and conquer
- approximation algorithms
And more.
You’ll learn the best implementations in C, C++ and Java.
10. Algorithms (4th Edition)
๐จ Ideal for: students
๐ฅ Major topics: data structures and algorithms
Algorithms takes a different approach than Grokking Algorithms and The Algorithm Design Manual. Instead of image-heavy examples, you’ll find detailed code teardowns.
Featuring 50 algorithms every programmer should know, you’ll work with data structures and algorithms for:
- searching and sorting
- graph processing
- string processing
And more.
All implementations are presented in Java.
๐ก Algorithms also has two free companion courses: Algorithms Part I and Algorithms Part II.
11. Introduction to Algorithms
๐จ Ideal for: students
๐ฅ Major topics: the role of algorithms
Similar to Algorithms, Introduction to Algorithms takes an academic approach to teaching algorithms.
While learning about the role of algorithms, you’ll also discover dynamic programming and edge-based flow. In addition, you’ll examine:
And beyond.
All algorithms are presented in pseudocode.
12. Algorithms in a Nutshell: A Practical Guide
๐จ Ideal for: students, programmers
๐ฅ Major topics: algorithm application, data structures
Algorithms in a Nutshell is similar to Introduction to Algorithms as it focuses heavily on the role of algorithms.
In addition to learning algorithm design patterns, you’ll learn advanced data structures used to improve algorithm efficiency.
Algorithmic solutions are presented in C++, C, Java and Python.
13. 40 Algorithms Every Programmer Should Know
๐จ Ideal for: beginner and experienced programmers
๐ฅ Major topics: algorithm design techniques, algorithm implementation
40 Algorithms Every Programmer Should Know follows in the footsteps of Algorithms in a Nutshell and Introduction to Algorithms.
You’ll start to learn algorithms by discovering algorithm design techniques. Then you’ll discover how to implement different algorithms like sorting and searching.
Finally, you’ll learn about linear programming and working with machine learning algorithms.
You’ll do all this with real-world examples such as movie recommendation engines and weather prediction.
Learn Algorithms: Conclusion
Today we looked at the best ways to learn algorithms including:
๐ฅBest Course ๐ฅ
AlgoExpert
๐ฅ Best Book ๐ฅ
The Algorithm Design Manual
So whether you prefer books or courses, peep this list for the best way to learn algorithms this year.
Up Next:
- Complete BitDegree Review [Is BitDegree Worth It?]
- 10 Best Big Data Books This Year[Learn Big Data ASAP]
- Best Java Textbook [9 Textbooks to Learn Java ASAP]
- 10 Best Coding Interview Resources [Coding Interview Prep]
- 10 Best Deep Learning Books This Year [Learn Deep Learning ASAP]
Where is the best place to learn algorithms?
While there are plenty of places to learn algorithms, we think courses and books are the way to go. Our favorite course to learn algorithms is AlgoExpert. And for books, we enjoyed The Algorithm Design Manual.
Is Algorithms in a Nutshell a good book?
We think Algorithms in a Nutshell is worth investing in if you want to learn algorithms. In addition to learning algorithm design patterns, you’ll learn advanced data structures used to improve algorithm efficiency. Algorithmic solutions are presented in C++, C, Java and Python.
Do you need to know data structures to learn algorithms?
Data structures and algorithms go hand in hand, which is why you’ll find many resources that focus on teaching you both. You absolutely must learn data structures if you want to learn algorithms.