Best Algorithms & Data Structures courses
The 78 Algorithms & Data Structures courses programmers recommend to each other on Hacker News, ranked by how many people recommended each one, how strongly, in how many separate threads and over how many years (291 recommendations, 2006 to October 2026). 53 of them are free. How ranking works.

Algorithms, Part I
Coursera · beginner · free
Commenters call it an engaging, well-organized free introduction to algorithms and data structures, with visualizations and assignments that teach practical implementation and interview-relevant skills.
CS61A: Structure and Interpretation of Computer Programs
UC Berkeley · beginner · free
Commenters call it the best introductory CS course and praise its SICP-based approach and Brian Harvey's lectures.

6.006 Introduction to Algorithms
MIT OpenCourseWare · intermediate · free
Commenters call it a good intro to data structures and algorithms that helped with complexity intuition and technical interviews, and say it pairs well with CLRS.

Introduction to Computer Science and Programming in Python
MIT OpenCourseWare · beginner · free
Commenters repeatedly call it a very good, free introduction to CS and programming that teaches concepts transferable to any language, and several say it was the course that gave them real programming ability.
Algorithms: Design and Analysis, Part 1
Coursera · intermediate · free
Commenters call it a challenging, well-taught course with practical implementation assignments that work in any language, and recommend it for interview prep and for learning algorithms.

Algorithms, Part II
Coursera · intermediate · free
Commenters call Sedgewick's Algorithms I/II courses top-notch and very useful for interview prep, praising the assignments and the instructor's clarity.

Discrete Optimization
Coursera · intermediate · free
Commenters call it an engaging, problem-driven introduction to discrete optimization with an enthusiastic instructor and a clear practical focus.

How to Code: Simple Data
edX · beginner · free
Commenters call it a very solid, learner-friendly introduction to programming based on How to Design Programs, and say it is free to take as individual course.
Automata
Coursera · intermediate · free
Commenters call it excellent and hard but rewarding, praising Ullman's relaxed teaching style and active participation in forums.
Algorithms
Coursera · beginner · free
Commenters call it an excellent, useful introduction that fills gaps in algorithm knowledge for people without a formal CS education.

6.851 Advanced Data Structures
MIT OpenCourseWare · advanced · free
Commenters call it a great course and say Erik Demaine's lectures are excellent, especially on niche topics like cache-oblivious and succinct data structures.

6.046J Design and Analysis of Algorithms
MIT OpenCourseWare · intermediate · free
Commenters call the lectures outstanding and a good treasure trove, and say they helped them understand material they had only muddled through before.
Algorithms (Robert Sedgewick)
Coursera · intermediate · free
Commenters call Sedgewick's lectures extremely clear and say the assignments were especially satisfying, with one calling it one of the best courses they took on Coursera.

Intro to Parallel Programming
Udacity · beginner · free
Commenters call it a free, easy-to-follow starting point that explains the algorithms well and teaches practical CUDA.
Discrete Mathematics, Algorithms, and Theory of Computation
Aduni · beginner · free
Commenters call the lectures excellent and say they gave insight into theory of computation that writing code alone did not, with one suggesting taking the courses in sequence.
Algorithms Specialization (Tim Roughgarden)
Coursera · intermediate · freemium
Commenters say Roughgarden teaches just enough math to build a full conceptual picture of algorithms, and one calls his courses amazing.

6.00 Introduction to Computer Science and Programming
MIT OpenCourseWare · beginner · free
Commenters call it a great, really good introductory CS course that uses Python and recommend it for beginners and non-CS majors.
Specifying Systems (TLA+ video course)
Leslie Lamport · beginner · free
Commenters call it an excellent follow-on after an introductory TLA+ course, and say it needs only basic programming background such as Python.
CS61B Data Structures
UC Berkeley · intermediate · free
Commenters call it a strong, theory-plus-practice data structures course where lectures on red-black trees and Dijkstra's are followed by implementing them in lab.
Algorithms (Roughgarden)
Coursera · intermediate · free
Commenters call the Stanford algorithms course on Coursera excellent and list it among good MOOCs for self-education in algorithms.
COS 226 Algorithms and Data Structures
Princeton University · intermediate · free
Commenters say it gives a good introduction to both algorithms and data structures and builds practical skills for leetcode-style interview questions, and one calls it one of their favorite classes with great lecture slides.

The Christmas Tree Lectures (Donald Knuth)
YouTube · mixed · free
Commenters describe them as incredibly informative and inspirational, and as a good route into graph theory and mathematical notation.
Technical Interview Preparation (MIT IAP)
MIT OpenCourseWare · beginner · free
Commenters recommend it as a short, practical set of notes on how to think through algorithmic interview questions, with one calling it highly recommended.
Algorithms (Tim Roughgarden)
Stanford University · intermediate · free
Commenters recommend it as a next step for people who get stuck on the algorithmic side of problems, and one notes that Roughgarden's lecture series is free.
Algorithms: Design and Analysis, Part 2
Coursera · intermediate · free
Commenters recommend it as the Stanford Roughgarden algorithms course that they found more engaging than the Princeton alternative.

6.046 Design and Analysis of Algorithms
MIT OCW · advanced · free
Commenters point to it as the natural next course after 6.006 for deeper algorithms material and for interview-relevant knowledge.

Data Structures and Algorithms Specialization
Coursera · intermediate · paid
Commenters point to its graded exercises for practicing algorithmic thinking and as a solid base for technical interviews.

Software Testing (CS258)
Udacity · intermediate · free
Commenters point to it as a well-regarded free course for learning software testing, with one noting it is taught by the author of csmith.

CS106B Programming Abstractions
Stanford University · beginner · free
Commenters point to it as a solid introduction to core computer science concepts, one that avoids the idiosyncrasies of C++ and works well as a basics course.
Introduction to Algorithms
iTunes U · beginner · free
Commenters describe it as free university lecture videos that work well as a step-by-step route into algorithms and data structures.
18.404J Theory of Computation
MIT OpenCourseWare · advanced · free
Commenters point to it as a freely available course on the theory of computation, with one saying they highly recommend it for understanding P and NP.
Rafting Trip
David Beazley · advanced
Commenters who took it call it awesome and stress how Beazley builds complex systems from nothing, with most participants ending with a (kinda) working Raft library.
Algorithms (Jeff Erickson)
University of Illinois Urbana-Champaign · intermediate · free
Commenters say they couldn't recommend Erickson's lecture notes more for algorithms and dynamic programming, and one uses them as a reference for brushing up on these topics.

Software Design and Architecture Specialization
Coursera · intermediate
Commenters say it teaches object-oriented design, design patterns, and architecture in a practical way and call it one of the best-taught courses they've taken.
Erik Demaine MIT Lectures
MIT OpenCourseWare · advanced · free
Commenters recommend basically any filmed class Demaine teaches on MIT OpenCourseWare, pointing to him as a highly regarded instructor in algorithms and CS theory.
CS 374 Algorithms and Models of Computation
University of Illinois Urbana-Champaign · intermediate
Commenters call it one of their favorite classes and say it changed how they approach their work by framing computer science as mathematics.
Nash Equilibrium and PPAD Complexity (Constantinos Daskalakis)
MIT · advanced · free
Commenters call it a fantastic, intuitive introduction to Daskalakis's PPAD-completeness result, praising his enthusiasm and clear explanation.
Computer Science Theory for the Information Age
Carnegie Mellon University · advanced
One commenter calls it one of their favorite courses and notes it is about CS theory and mathematical foundations rather than an ML book.
CS 6850 Structure of Information Networks
Cornell University · advanced
The commenter calls it a really brilliant course and says it is very relevant to making sense of today's connected world.
15-799 Algorithm Engineering
Carnegie Mellon University · advanced
One commenter calls it the best example of algorithm engineering they've found, noting that many schools teach the subject like MIT but this course stands out.
Graduate Algorithms
Udacity · advanced
One commenter recommends it alongside the DPV algorithms book as a route to learning graduate-level algorithms and dynamic programming.

Algorithms
Frontend Masters · free
One commenter calls it a great free DSA course in JavaScript from The Primeagen.
6.890 Algorithms for Hard Problems
MIT OpenCourseWare · advanced · free
A commenter calls it an excellent course taught by Virginia Williams and notes that the lecture notes are open.
Advanced Algorithms (Jelani Nelson)
YouTube · advanced · free
One commenter says it was great and helped them a lot during their undergraduate years.
Domain-Driven Design
Lightbend Academy · beginner · free
Commenters suggest it as a quick, free way to get a first look at DDD, noting it can be finished over a weekend.
Modern Software Architecture: Domain Models, CQRS, and Event Sourcing
Pluralsight · intermediate · paid
One commenter lists it among the two popular, recommended Pluralsight DDD courses, alongside Domain-Driven Design Fundamentals.
CS154 Introduction to Automata and Complexity Theory
Stanford University · intermediate
Commenters suggest it as a way to formalize abstract concepts and build abstract thinking, recommending it over informal anecdotes.

Computability, Complexity & Algorithms
Udacity · intermediate · free
A commenter recommends it as one of two free Udacity courses for advanced computer science, while noting the material is not especially advanced.

Data Structures: An Active Learning Approach
edX · beginner · freemium
The commenter says the graded exercises start easy and build up, which suits learners who need steady confidence boosts, and calls it a good start even though it isn't a complete look at algorithms.
15-210 Parallel Data Structures and Algorithms
Carnegie Mellon University · advanced
One commenter, a former student of the course, points readers to the associated parallel algorithms book as a comprehensive resource that stands in for the students-only version.
Algorithms and Data Structures
edX · beginner
One commenter recommends it as one of several resources to fill basic data structures and algorithms gaps for junior and mid-level engineers preparing for interviews.
Data Structures and Algorithms
Udacity · beginner · paid
The commenter recommends it as one of several resources for filling a data structures and algorithms skills gap before applying for senior roles.

Four Algorithmic Journeys
YouTube · intermediate · free
Commenters recommend it as an enjoyable video companion to Stepanov's books that connects algorithm history, math, and generic programming with the STL mindset.
Data Structures and Algorithms
Coursera · mixed
Commenters suggest it as a refresher on data structures and algorithms for technical interview preparation, paired with hands-on practice problems.
Algorithms and Data Structures
Coursera · intermediate · free
Commenters point to it as the place to learn algorithms and data structures after proofs, as part of recreating a CS degree on their own.

Dynamic Programming (Abhi Shelat, CS 4102)
University of Virginia · intermediate · free
One commenter says Shelat's lectures have the best explanation of DP they found.

Dynamic Programming (Tushar Roy)
YouTube · intermediate · free
A commenter points to it for working through the specific DP problems common in competitive programming and interviews, as a complement to a university lecture series.
Database System Implementation
Stanford University · advanced
Commenters point to it as a strong reference for understanding database internals, with the instructor's lecture notes and the associated book cited as excellent resources.
Data Structures
NC State University · intermediate · paid
Commenters single out the instruction as excellent and note that the online sections run like in-person classes, with no transcript notation that they were taken online.
Computing 1
UNSW · beginner
One commenter calls it an excellent introduction to programming and notes that it is relatively unknown.
Algorithms (Robert Sedgewick)
Stanford · intermediate · free
One commenter uses Sedgewick's Stanford MOOC videos as the refresher to reach for when they need to revisit a specific algorithm.

Advanced Algorithms
MIT OpenCourseWare · advanced · free
One commenter points readers to it as a free route into advanced algorithms material from MIT's open courseware.
Gems of Theoretical Computer Science
Northeastern University · intermediate · free
One commenter suggests the course slides as a useful way to acquire theoretical computer science knowledge.
Algorithms, Part I (Stanford Algorithms specialization, Tim Roughgarden)
Coursera · intermediate
Commenters present it as the Stanford series taught by Roughgarden, which they rank above the Princeton course; the one comment here compares the two and prefers the Stanford ones.
Algorithms: Design and Analysis, Parts 1 and 2
Coursera · intermediate · free
Commenter says they took both parts and found them excellent, noting it was among the first MOOC algorithms courses.
MapReduce Training
Google · beginner · free
One commenter points to it as free MapReduce training from Google as a useful supplement to a paid data science course.
CS313 Introduction to Computability / P vs. NP
Udacity · beginner · free
The commenter calls it a great course with all the background to the P/NP problem and says they found it very informative.
Foundations of Programming: Object-Oriented Design
Lynda.com · beginner
Commenter suggests it as a great video series for building the practical object-oriented design skills that basic syntax tutorials skip.
Design and Analysis of Algorithms
Coursera · intermediate · free
Commenters recommend it as an excellent course taught by Tim Roughgarden, with well-presented videos.
Algorithms: Design and Analysis
Stanford (Algo-class) · intermediate · free
One commenter points to it as a Stanford course worth following alongside Kleinberg and Tardos's textbook for learning data structures and algorithms.
Introduction to Algorithm Analysis
edX (MITx) · intermediate
One commenter suggests it as one of the most relevant CS-style modules for software developers, especially self-taught and apprentice developers.
CS161 Algorithms
Stanford University · intermediate · free
One commenter simply calls it a great class, a brief endorsement without detail.
Algorithms (Michael Mitzenmacher)
Harvard Extension School · intermediate · paid
A commenter calls it both challenging and fun and notes it is taught by a professor who also teaches regular Harvard classes.
Algorithms
ArsDigita University · intermediate · free
One commenter recommends it as a solid algorithms course in a thread about brushing up on computer science fundamentals.
Data Structures
iTunes U · beginner · free
Commenters describe the lecture videos as EXCELLENT and free, and suggest working through them at a pace of about two lectures per week.
Algorithms (Jon Kleinberg)
Cornell University · intermediate
Commenters single out Kleinberg's algorithms class and the courses built on his book as high quality, one they say not every CS student gets.
Algorithms
Stony Brook University · intermediate · free
Commenters call the Stony Brook video lectures a great free source for learning algorithms, pointing to them alongside MIT's lectures.
Great Algorithms
Unknown
One commenter calls it "particularly ripe fruit" for a yearly learning plan, alongside SICP and TAOCP.