Master advanced algorithm design techniques including dynamic programming and greedy algorithms. Perfect for computer science professionals.
Master advanced algorithm design techniques including dynamic programming and greedy algorithms. Perfect for computer science professionals.
This course cannot be purchased separately - to access the complete learning experience, graded assignments, and earn certificates, you'll need to enroll in the full Foundations of Data Structures and Algorithms Specialization program. You can audit this specific course for free to explore the content, which includes access to course materials and lectures. This allows you to learn at your own pace without any financial commitment.
4.6
(125 ratings)
25,270 already enrolled
Instructors:
English
پښتو, বাংলা, اردو, 2 more
What you'll learn
Create efficient divide and conquer algorithms
Implement dynamic programming solutions
Design effective greedy algorithms
Analyze algorithm complexity and performance
Solve complex computational problems
Understand P vs NP and intractability concepts
Skills you'll gain
This course includes:
13.1 Hours PreRecorded video
17 quizzes
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by

Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.





There are 4 modules in this course
This comprehensive course delves into fundamental algorithm design techniques, focusing on divide and conquer, dynamic programming, and greedy algorithms. Students learn to create efficient solutions for complex computational problems, understand algorithm analysis, and explore intractability through NP-completeness. The course combines theoretical concepts with practical Python programming, preparing learners for advanced computer science applications and algorithm optimization.
Divide and Conquer Algorithms
Module 1 · 11 Hours to complete
Dynamic Programming Algorithms
Module 2 · 8 Hours to complete
Greedy Algorithms
Module 3 · 6 Hours to complete
Intractability and Supplement on Quantum Computing
Module 4 · 10 Hours to complete
Fee Structure
Instructor
Professor
Sriram Sankaranarayanan is a professor of Computer Science at the University of Colorado Boulder, where he teaches a variety of courses on algorithms, theory of computation, mathematical optimization and programming languages. His research studies how computers can be used to verify and design other computer systems by combining ideas from mathematical logic, theory of computation and control theory. He uses these to analyze "safety-critical" systems ranging from autonomous vehicles to artificial pancreas devices for patients with type-1 diabetes. Sriram obtained a PhD in computer science from Stanford University. Subsequently he worked as a research staff member at NEC research labs in Princeton, NJ. He has been on the faculty at CU Boulder since 2009. Sriram has been the recipient of awards including the CAREER award from NSF, and the Provost's faculty achievement award at CU Boulder.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
4.6 course rating
125 ratings
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.