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 is this class for: 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.
Course 3 of 4 in the Algorithms Specialization.
Two motivating applications; selected review; introduction to greedy algorithms; a scheduling application; Prim’s MST algorithm.
Graded: Problem Set #1
Graded: Programming Assignment #1
Kruskal’s MST algorithm and applications to clustering; advanced union-find (optional).
Graded: Problem Set #2
Graded: Programming Assignment #2
Huffman codes; introduction to dynamic programming.
Graded: Problem Set #3
Graded: Programming Assignment #3
Advanced dynamic programming: the knapsack problem, sequence alignment, and optimal binary search trees.
Graded: Problem Set #4
Graded: Programming Assignment #4
Graded: Final Exam
ENROLL IN COURSE