Best Algorithms & Data Structures courses
The 76 Algorithms & Data Structures courses Redditors recommend to each other on Reddit, ranked by how many people recommended each one, how strongly, in how many separate threads and over how many years (1,149 recommendations). 53 of them are free. How ranking works.

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, 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.

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.
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.

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.
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.

6.00 Introduction to Computer Science and Programming in Python
MITx · beginner · free
Commenters call it a rigorous, high-quality introduction to computer science that goes beyond syntax and is often preferred over CS50 for building fundamentals.

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.
Algorithms
Coursera · beginner · free
Commenters call it an excellent, useful introduction that fills gaps in algorithm knowledge for people without a formal CS education.
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.

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.

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.

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.
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.
JavaScript Algorithms and Data Structures Masterclass
Udemy · beginner · paid
Commenters call Colt Steele's explanations patient and accessible, saying the course works well for people without a traditional CS background.
Data Structures and Algorithms
Udemy · intermediate · paid
Commenters call it a practical, well-taught way to learn data structures and problem-solving strategies for interviews and LeetCode-style problems, especially Colt Steele's version, which one commenter found the best visual course they had seen.
Algorithms
Khan Academy · beginner · free
The only comment mentioning it is an aside urging learners not to postpone data structures and algorithms, so commenters offer it no specific endorsement.

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.
CS101 Introduction to Computer Science
Udacity · beginner · free
Commenters repeatedly point to it as a free, solid starting point for absolute beginners, with one saying it gives a solid foundation and teaches critical thinking about code.

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.

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.
6.00.2 Introduction to Computational Thinking and Data Science
edX · intermediate · free
Commenters call it a challenging but worthwhile follow-up to 6.00.1x that builds core computer science skills that carry across languages, and say it is a solid foundation in Python and data science.
Algorithms (Abdul Bari)
YouTube · beginner · freemium
Commenters call Abdul Bari amazing at explaining concepts clearly and say his teaching style makes algorithms easy to follow for beginners.

Introduction to Algorithms
MIT OpenCourseWare · beginner · free
Commenters call the MIT lectures good and a solid starting point for learning algorithms and data structures, especially for beginners, and praise Erik Demaine as a great teacher.
Algorithms, Part I and Part II
Coursera · intermediate · free
Commenters call it one of the best algorithms courses available and say it is free, with one calling it the best course they have taken in their set of online courses.
Data Structures and Algorithms (Abdul Bari)
Udemy · mixed · paid
Commenters call Abdul Bari an excellent explainer who makes concepts clear and in-depth, and say the paid Udemy course adds structure and hands-on coding beyond the free videos.
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 (Roughgarden)
Coursera · intermediate · free
Commenters call the Stanford algorithms course on Coursera excellent and list it among good MOOCs for self-education in algorithms.
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, Part I and II (Robert Sedgewick and Kevin Wayne)
Coursera · intermediate · free
Commenters call it an exceptional, excellent algorithms course and name it alongside Stanford and MIT options as a go-to for learning data structures and algorithms.
Algorithms and Data Structures
Udemy · mixed · paid
Commenters call it a hands-on way to learn data structures before tackling LeetCode and interviews, with one saying it gave them real confidence.

Data Structures
Coursera · beginner · free
Commenters call it a solid, free, structured course that works well alongside writing your own implementations and practice problems.

Algorithmic Thinking (Part 1)
Coursera · beginner · freemium
Commenter lists it as one of several Coursera options for a beginner's introduction to data structures and algorithms, without singling it out.

Analysis of Algorithms
Coursera · intermediate · free
Commenters call it a good, refreshing course on analyzing running times and general algorithmic techniques, and note that it is free to access.
Algorithms: Design and Analysis, Part 1
Stanford Online · beginner · free
Commenters call it the best algorithms course they know and say it feels like a real college course, with an excellent lecturer in Dr. Roughgarden and assignments that are language agnostic.
Intro to Programming
Khan Academy · beginner · free
Commenters call it free, ad-free, and better than other courses at teaching the principles of programming as a whole, and say the ability to pause and interact with the lecturer's code helps.
CSE 142 Computer Programming I
University of Washington · beginner · free
Commenters call it the best CS course they have seen and recommend it as the starting point for complete beginners.
The Coding Interview Bootcamp: Algorithms + Data Structures
Udemy · intermediate · paid
Commenters call it an excellent way to find gaps in knowledge and learn the content areas that technical interviews test.
Python for Data Structures, Algorithms, and Interviews
Udemy · intermediate · paid
Commenters recommend it for its explanations of applying data structures to problems and as a Python-focused introduction to a core software engineering subject.
CSE 143 Computer Programming II
University of Washington · beginner · free
Commenters call it the more in-depth follow-up to CSE 142 and a strong next step after CS50 or intro programming, with the course materials posted for free.
Data Structures and Algorithms (freeCodeCamp)
YouTube · beginner · free
Commenters call it a highly recommended free option, noting that data structures are language independent and that it doesn't require paying for a course.
Algorithms Specialization
Coursera · mixed · freemium
Commenters call it highly recommended and a good starting place for learning algorithms, noting that Coursera courses combine video, textbook content, and practice tasks.
Data Structures and Algorithms (NYU)
New York University · beginner · free
Commenters point to it as a good edX option for data structures and algorithms, and one suggests taking it before practicing LeetCode 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.
6.046J Introduction to Algorithms (Lecture 12: Skip Lists)
MIT OCW · intermediate · free
Commenters call the lecture an amazing explanation of skip lists and say it is pretty cool, with one calling skip lists their favorite data structure after it.
Data Structures and Algorithms (freeCodeCamp)
freeCodeCamp · beginner · free
Commenters point to it as a free starting point for learning algorithms, and one calls it a good option for self-learners.
Introduction to Computing Using Python (CS1301xI)
edX · beginner · freemium
Commenters call it a beginner-friendly alternative to CS50 that improved their understanding of programming and mirrors Georgia Tech's on-campus CS1301.
Java Programming MOOC
University of Helsinki · beginner · free
Commenters call it a great free introduction to programming with a good first look at Java, and one says they know of no better free option for learning a programming language.
Automata
Coursera · intermediate · free
Commenters call it excellent and hard but rewarding, praising Ullman's relaxed teaching style and active participation in forums.

Algorithms
Frontend Masters · free
One commenter calls it a great free DSA course in JavaScript from The Primeagen.

Algorithms in TypeScript (ThePrimeagen)
Frontend Masters · beginner · free
Commenters call it a fantastic, very good DS&A course that almost anyone can follow because it is taught in TypeScript.
Data Structures and Algorithms in JavaScript
Udemy · paid
Commenters say the explanations click and praise the animations that help the concepts stick, with one calling it highly recommended.

Fundamentals of Computing Specialization
Coursera · beginner · freemium
Commenters recommend it as a deeper Python course than Codecademy, with one saying it goes far beyond beginner tutorials and can be audited at your own pace.
AP Computer Science A
College Board · beginner · paid
Commenters note it is designed to be taught from nothing and that students with no prior experience still did well, and they suggest it as a credit-earning path for high schoolers.
Algorithms
Udacity · intermediate · free
Commenters point to it as a good, free algorithms course, one calling it a great course that corrected their assumptions about what they knew.
Data Structures and Algorithms in C++
Udemy · mixed · paid
Commenters call it an excellent, in-depth, step-by-step course that is more thorough than a university course.
6.0001 Introduction to Computer Science and Programming in Python
edX · beginner · free
Commenters call it an awesome, logic-focused introduction to Python and say its coverage of recursion and dynamic programming is better than alternatives like CS50.
Design Patterns
Udemy · free
Commenters recommend it as a free, practical way to see how design patterns solve recurring problems in object-oriented code, noting the Java examples still apply to any OOP language.
Introduction to C++ Programming
MIT OpenCourseWare · beginner · free
Commenters call it absolutely great and say it was their first introduction to programming, which they survived.
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.
Algorithmic Toolbox
Coursera · intermediate · paid
Commenters call it an excellent option for learning algorithms right away, and one suggests it as a Python-friendly alternative to Princeton's Java courses.
Programming MOOC Part 1
University of Helsinki · beginner · free
Commenters say it works well because it is exercise-heavy, with automatic tests that show your errors and quick answers from the university admins, and they describe it as a strong free way to learn Java.
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.
Data Structures and Algorithms
Harvard Extension School · intermediate · paid
Commenters say it is widely applicable to computing and valuable throughout a career, and that the forced schedule and high-quality instructor and assignments make it an efficient way to learn.

The Nature of Code
YouTube · beginner · free
Commenters describe it as a fantastic explanation of the algorithms and math behind simulations and AI, and one who followed it used it to build 2D canvas simulations even though the examples are not in Python.
Data Structures and Algorithms Courses
Udemy · paid
Commenters describe Udemy as having a couple of great data structures and algorithms courses, and one suggests taking them separately from a degree for interview preparation.
Foundations of Programming: Object-Oriented Design
Lynda.com · beginner · paid
Commenters say it explains all the principles of OOP clearly and that it helped one of them a lot, and they note that it is easy to finish within Lynda's free trial.
6.009 Fundamentals of Programming
MIT OpenCourseWare · intermediate · free
Commenters point to its published lecture notes, recitation notes, and lab materials as enough for self-study, and one suggests it as a step up in level from introductory Python courses.
CS 61A: Structure and Interpretation of Computer Programs
UC Berkeley · beginner · free
Commenters point to it as a free, fully online Berkeley intro course with archived lectures and assignments that can be used for self-study.
Python programming online course
Coursera · beginner · free
Commenters suggest it as a way to learn Python from scratch, especially for someone without a programming class, noting it includes simple projects to practice along the way.
Introduction to Java Programming Part 1 (COMP102.1x)
edX · beginner · free
Commenters point to it as good material that builds up step by step, though one notes the instructor can be hard to understand.
Introduction to Programming
Coursera · beginner · free
Commenters suggest it as a free starting point for beginners, and one says that taking several intro courses helped them finally get the core ideas to click.
Intro to Computer Programming
Udacity · beginner
Commenters recommend it as a clear, well-explained introduction to both coding and Python.
Data Structures and Algorithms (Colt Steele)
Udemy · beginner · paid
Commenters point to it as a good pick for beginners without other OOP languages, and one who switched from Andrei's DS course says Colt's was higher quality.
Learn Java
Codecademy · beginner · free
Commenters describe it as a really nice and basic introduction to Java and say it is a good free way to prepare for a Java course.