MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
The course is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this course, you will have a greater mastery of algorithms than almost anyone without a graduate degree in the subject.
Specific topics in Part 2 include: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes), dynamic programming (knapsack, sequence alignment, optimal search trees, shortest paths), NP-completeness and what it means for the algorithm designer, analysis of heuristics, local search.
Learners will practice and master the fundamentals of algorithms through several types of assessments. There are 6 multiple-choice problem sets to test your understanding of the most important concepts. There are also 6 programming assignments, where you implement one of the algorithms covered in lecture in a programming language of your choosing. The course concludes with a multiple-choice final.
There are no assignment due dates and you can work through the course materials and assignments at your own pace.
What you'll learn
- greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes)
- dynamic programming (knapsack, sequence alignment
- optimal search trees, shortest paths)
- NP-completeness and what it means for the algorithm designer
- analysis of heuristics
- local search
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.