Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
#85 overall

Algorithms (Robert Sedgewick)

Coursera

5 recommenders · 5 threads · recommended in 4 years, 2014–2021 · score 5.3

Search for it ↗

A Coursera course on algorithms and data structures taught by Robert Sedgewick, companion to his Algorithms textbook (with Kevin Wayne) and the Princeton algs4 materials. It covers core algorithms, sorting, graph processing, and analysis of algorithms, with programming assignments.

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 & Data Structuresintermediatefreevideo lectures#algorithms#data structures#graphs#sorting#sedgewick

Recommendations by year

20062026

What commenters said (6)

  1. Strongly recommendshackart2020in “Ask HN: Did you take any fresh MOOCs as of 2020?”

    I agree.

    One of the best courses i had taken on Coursera was the Algorithms series by Robert Sedgewick. Apart from going through the lectures, i had obtained a great satisfaction from solving the assignments. But this year, i have taken up the lab assignments for the following: https://cs144.github.io/ https://tc.gts3.org/cs3210/2020/spring/info.html

    Both have been recommended earlier on HN.

    Next on my list is 6.824

  2. Recommendsstrikelaserclaw2021in “Ask HN: How do I learn Data Structures and Algorithms”

    i keep CLRS as a reference book and i regularly read a chapter on something i find interesting, it's been a great book in my collection. For lectures, i recommend the algorithms course by Robert Sedgewick on Coursera, his way of presenting the material is extremely clear. Here are some key things i think you should know : 1)analyzing time + space complexity - omega (lower bound), theta, and big o notation 2) quick sort, merge sort (study quick sort more extensively because the partitioning idea is used in other algorithms), radix sort (what does it mean when a sort is stable? why is this idea important) - radix sort is used in some string sorting algorithms 2)binary search 3)Binary Search Trees, maybe a little bit about B-Trees (this is more for personal knowledge than interviews) 4)dictionary implementation 5)Graph representation (adj-list-matrix) and graph processing algorithms (mainly DFS and BFS and what properties do they have? can you detect a cycle in a graph?) You could also study minimum spanning tree algorithms and shortest path algorithms 6)Backtracking 7)Dynamic programming 8)Greedy algorithms

    finally get a leetcode account. In many leetcode problems you don't need to know alot of these things i mentioned but studying those topics will allow you to learn different ways of thinking about problems solving.

  3. Recommendsbhrgunatha2021in “Big O Notation – Explained as easily as possible”

    I'm assuming you want something rigorous - based on the comment you replies to.

    Many people will recommend CLRS [0] but I prefer it as a reference, rather than a learning resource. I feel it's very dry and academic.

    Instead I'd recommend Tim Roughgarden's series of books Algorithms Illuminated for learning about analysis and algorithms. He also has courses on Coursera and Edx to cover the material. It's thorough rigorous and shows algorithms that apply to different paradigms - lke divide and conquer, graph theory.

    Sedgewick and Wayne's Algorithms has a companion website with lots of additional material (heavily Java based) - and courses on Coursera too. Again I think it's more approachable than CLRS while still being detailed and covering the theory.

    [1] https://mitpress.mit.edu/books/introduction-algorithms-third...

    [2] http://timroughgarden.org/books.html

    [3] https://algs4.cs.princeton.edu/home/

  4. Recommendskiloreux2016in “Ask HN: Are specializations at udacity, coursera etc worth it?”

    Sure, there is of course the CS50 introduction to computer science (Best MOOC EVER), also Sedgewick lectures on algorithms and data structures, control of mobile robots on coursera and the software engineering interview on coursera, beside that most courses on Udacity are awesome.

  5. Recommendsmailshanx2014in “The Open Source Data Science Masters”

    Expanding on my previous comment (https://news.ycombinator.com/item?id=8444705), here are some excellent, tried-and-tested resources to help you learn the fundamentals.

    1. Probability and stats: For probability, work through John Tsitsiklis's MIT OCW course 6.041. There is also an archived version of the course available on EDX. Norman Matloff's book (http://heather.cs.ucdavis.edu/~matloff/132/PLN/ProbStatBook....) approaches stats from a CS practitioner's point of view (lots of sample simulation code in R), and has intuitive explanations of many different statistical concepts. For Hypothesis testing, checkout the courses Mathematical Biostatistics - 1 and 2 on Coursera.

    2. Linear Algebra: Gilbert Strang's OCW lectures / course notes is hands down the best resource. But depending on your mathematical background, the lectures can be a bit long-winded.

    3. Programming proficiency: For algorithms, Robert Sedgewick's algorithms course on Coursera has excellent videos. His textbook is very well written too. I really like his style of writing actual working code for each algorithm he describes (in contrast to say, CLRS): i find his code samples rather elegant and worthy of study. For learning object orientation and design patterns, the best way is to write large programs and read the book "Head First Design Patterns" as you do so.

    The aim is to develop an ability to think with a statistical / algorithmic lens. Many real world phenomena are stochastic in nature. Modelling them by simulation and measuring and drawing confidence intervals around your measurements must become second nature. When confronted with an image / text processing problem, representing you data as vectors and manipulating them must be natural. While writing large programs, being aware of design considerations such as preferring composition must come naturally to you. Of course, you should be able to always recognize when a computation is O(n^2) vs O(n log(n)) vs O(2^n).

    Once you are done with that, all you need to do is work through Andrew Ng's Machine Learning course and compete in a few Kaggle competitions / build some ML related side projects. Congratulations, you are now a data scientist good enough to work at most places in the tech industry!;)

  6. Mentions__rito__2024in “Accenture to Acquire Udacity”

    A lot of people are wondering why MOOCs as a whole industry failed. I learned a lot from MOOCs, and can attribute much of my professional success to MOOCs. I can think of these reasons-

    1. There are so much great content available for free, it almost doesn't make sense to pay for stuff.

    2. Lots of universities, including MIT, NYU release their content for free along with handouts, assignments, problem sets, etc. And many great professors from other unis also release a lot of courses for free.

    3. Much of the focus was on certificates, and honestly employers don't value them a lot, and higher education institutes don't value them at all.

    4. Quality diminished in MOOCs. The early MOOCs from 2010s are of greater quality than the stuff that are released recently.

    5. To make it in life, you are far better off with a university degree rather than without. And, people can't solely rely on online education.

    6. MOOCs are expensive. Udacity nanodegrees were $1,000. My entire Master’s degree in CS was ~$1500 (in India).

    7. They started focusing more on online degrees which almost no one value. And they are obscenely expensive. And platforms focus more and more on them. Think of Sedgewick's Algorithms course on Coursera. I don't see any new course of similar quality there. Focus is entirely on the online "degrees".

    8. Good people left to do something cooler to them. The people who created Coursera, Udacity, etc. now do something else. Most provably some AI startup. People not similar to them are running the show now.

    9. Coursera, edX, Udacity all have horrible, slow UIs. After a 2-8 minutes lecture (played in 1.5x) makes you wait a slow full 2 seconds to load the next page. And this is breaking, IMO. I would take a 2.5 hours university class lecture over this any day.

    10. Unis use their own platform and abandoned joint ventures (?) because, maybe, lack of control. MIT has MITx, and some truly great new courses. I don't think they upload in edX anymore.

    11. As per their behaviour, they focused on company-wide training, upskilling, etc. But I think most corporates don't look to upskill employees in a holistic way. They just want some tool specific training for their employees, that are too the point, practical in a negative way, and solely focuses on the tool at hand. Not every company is Texas Instruments, Facebool AIR, DeepMind, etc.

    12. Despite all these, MOOCs are still successful, now often riding on particular people. They have their own websites with their own pricings, and own UI design. Think Jeremy Howard with fast.ai.

    I think these are causes for the decline of MOOCA hype wave.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help