This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures.

Dynamic Programming, Greedy Algorithms
Grow your skills with Coursera Plus for $239/year (usually $399). Save now.

Dynamic Programming, Greedy Algorithms
This course is part of Foundations of Data Structures and Algorithms Specialization

Instructor: Sriram Sankaranarayanan
40,953 already enrolled
Included with
263 reviews
Recommended experience
What you'll learn
Describe basic algorithm design techniques
Create divide and conquer, dynamic programming, and greedy algorithms
Understand intractable problems, P vs NP and the use of integer programming solvers to tackle some of these problems
Skills you'll gain
- Category: Algorithms
- Category: Computational Thinking
- Category: Pseudocode
- Category: Analysis
- Category: Design Strategies
- Category: Data Structures
- Category: Theoretical Computer Science
- Category: Programming Principles
- Category: Advanced Mathematics
- Category: Computer Science
Tools you'll learn
- Category: Python Programming
Details to know

Add to your LinkedIn profile
18 assignments
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There are 4 modules in this course
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
Instructor

Offered by

Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
- 5 stars
77.56%
- 4 stars
15.96%
- 3 stars
2.28%
- 2 stars
1.52%
- 1 star
2.66%
Showing 3 of 263
Reviewed on Sep 18, 2022
Great work from professor Sriram Sankaranarayanan explaining such complex material. I wish we could review more examples during the class (specially Dynamic Programming ones).
Reviewed on Jul 9, 2023
Clear and helpful instructions but the last assignment is so hard.
Reviewed on Sep 20, 2021
Excellent. This course covers some difficult topics, but the lectures and homework assignments were superb and made them quite approachable.
