This course is part of Data Structures and Algorithms.
This advanced course builds upon foundational algorithmic knowledge to explore sophisticated techniques for solving complex computational problems. Starting with network flows, you'll learn mathematical frameworks that enable solutions for transportation, routing, and surprisingly diverse applications like image segmentation. The curriculum then introduces linear programming—a powerful optimization tool for constraints and variables, with applications in resource allocation, production scheduling, and portfolio management. You'll tackle the challenging realm of NP-complete problems, where efficient solutions remain elusive yet vital for real-world applications. Through comprehensive study of problem reductions and theoretical underpinnings, you'll learn to recognize intractable problems and develop strategies for addressing them, including specialized solvers for large problem instances. The course explores practical approaches for handling NP-completeness, examining special cases solvable in polynomial time, exact algorithms that improve upon brute force, and approximation algorithms that find near-optimal solutions efficiently. An optional module on streaming algorithms introduces techniques for processing massive data sets that cannot fit in memory, focusing on maintaining small summaries of data streams for big data analysis.
4.6
(693 ratings)
84,466 already enrolled
Instructors:
English
বাংলা, اردو, ଓଡ଼ିଆ, 2 more
What you'll learn
Design and analyze network flow algorithms for transportation and matching problems
Formulate and solve optimization problems using linear programming techniques
Identify NP-complete problems and understand computational complexity theory
Implement efficient algorithms for special cases of otherwise intractable problems
Apply approximation algorithms to find near-optimal solutions efficiently
Use problem reduction techniques to relate different computational problems
Skills you'll gain
This course includes:
7.6 Hours PreRecorded video
5 assignments
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
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 5 modules in this course
This advanced course explores complex algorithmic techniques for solving challenging computational problems. The curriculum is structured around four main modules with an optional fifth module. The first module covers network flows, introducing mathematical frameworks for routing, transportation, and matching problems, with applications extending to image segmentation and other unexpected domains. The second module delves into linear programming, teaching optimization techniques for problems with multiple constraints and variables, including the simplex algorithm and duality concepts. The third module examines NP-complete problems, explaining the theoretical foundations of computational complexity and teaching techniques for problem reduction. The fourth module focuses on practical approaches to NP-completeness, including exact algorithms, special case optimizations, and approximation techniques. The optional fifth module introduces streaming algorithms for processing massive datasets that cannot fit in memory, with applications in big data analysis. Throughout the course, students complete programming assignments implementing these advanced algorithmic techniques.
Flows in Networks
Module 1 · 5 Hours to complete
Linear Programming
Module 2 · 5 Hours to complete
NP-complete Problems
Module 3 · 5 Hours to complete
Coping with NP-completeness
Module 4 · 5 Hours to complete
Streaming Algorithms (Optional)
Module 5 · 5 Hours to complete
Fee Structure
Individual course purchase is not available - to enroll in this course with a certificate, you need to purchase the complete Professional Certificate Course. For enrollment and detailed fee structure, visit the following: Data Structures and Algorithms
Instructors

13 Courses
Distinguished Computer Scientist and Algorithms Expert
Alexander S. Kulikov serves as a visiting professor at the University of California, San Diego, and a leading research fellow at the Steklov Institute of Mathematics in St. Petersburg. His academic journey includes earning his Ph.D. in 2009 and Dr.Sci. in 2017 from the St. Petersburg Department of Steklov Institute of Mathematics. His research focuses on algorithms for NP-hard problems and circuit complexity, with significant contributions to computational complexity theory and algorithm design. He has authored several influential educational resources, including "Learning Algorithms Through Programming and Puzzle Solving" and co-created major online courses on platforms like Coursera and edX. His teaching experience spans more than eight years, during which he has developed innovative approaches to algorithms education. Currently at JetBrains as a researcher, he continues to advance the field through his work on algorithmic problem-solving and computational complexity, while maintaining his academic connections through his visiting professorship at UCSD and research position at Steklov Institute.

7 Courses
Distinguished Data Scientist and Algorithms Expert
Michael Levin serves as Chief Data Scientist at Yandex.Market, Russia's leading price comparison and online shopping service, while also maintaining a position as Lecturer in Computer Science at the National Research University Higher School of Economics since 2015. His academic excellence began at Moscow State University, where he earned his degree in mathematics and achieved both silver and bronze medals at the ACM ICPC World Finals as part of the university's team. His expertise in algorithms, machine learning, and data science has made him a prominent figure in both industry and education, leading to his role as an instructor for the University of California San Diego's online courses in algorithms and data structures, which have reached over 345,000 students worldwide. His teaching portfolio includes comprehensive courses in algorithmic design, graph algorithms, string processing, and advanced complexity theory, making him a influential figure in computer science education while maintaining his leadership role in one of Russia's largest tech companies.
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.
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.