Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming


Stanford School of Engineering



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

Who Should Enroll

Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.

Time Commitment

4 weeks of study, 4-8 hours/week


Tim Roughgarden, Professor of Computer Science

001 Open for Enrollment Online, Coursera

Enroll Now

Delivery Option:
Online Course $0.00




Coursera Course Certificate Available for a Fee

You can earn a Course Certificate for this Coursera Course. A Course Certificate is proof that you completed and passed the course.

In order to get a Course Certificate, you must: