← all courses

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Stanford Online · View on Coursera ↗

Taught by Tim Roughgarden

Computer ScienceMath and Logic

Coursera
4.8
headline rating
Starisk
4.8
Holds up

About the course

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

The consensus

1 of the 20 reviews we read rated it 3★ or lower, but none of them wrote a comment. This is the most-upvoted review (3 votes).

“One of the best courses to make a student learn DP in a way that enables him/her to think of the subproblems and way to proceed to solving these subproblems. Definitely helpful for me. Thanks.”

5.0 / 5

Read the full review on Coursera ↗

Coursera's 4.8 comes from 1,279 ratings. Of those, 0.4% are 1–2★.

Starisk reads the reviews learners voted most helpful, and weights each by the square root of its votes: a review with 80 upvotes counts about five times one with 2. Unvoted reviews are not skipped out of laziness — by this model they carry no evidence that other students endorsed them.

That measures what the most-endorsed reviews say, not “true quality.” The rating distribution above is the whole population, so you can see the sample next to it.

Reviews read on 23 Oct 2026.Read them on Coursera ↗