Dive into the world of algorithm design, a fundamental aspect of computer science. This course provides a comprehensive understanding of various algorithmic design paradigms such as divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. You will explore fundamental graph algorithms, gain practical experience in solving complex graph-related problems, and delve into randomized algorithms and complexity classes.



Algorithm Design: Mastering Computational Problem Solving

Instructeur : BITS Pilani Instructors Group
Inclus avec
Ce que vous apprendrez
Master divide and conquer techniques to solve complex problems and enhance algorithm efficiency in software development.
Apply dynamic programming for decision optimization, storing and reusing sub-problems to improve computational problem-solving.
Design and analyze graph algorithms, including shortest paths and minimum spanning trees, to address network challenges.
Utilize branch and bound methods for solving optimization problems like 0-1 knapsack and traveling salesman with precision.
Compétences que vous acquerrez
- Catégorie : Mathematical Theory & Analysis
- Catégorie : Scalability
- Catégorie : Computer Science
- Catégorie : Solution Design
- Catégorie : Machine Learning Algorithms
- Catégorie : Problem Solving
Détails à connaître

Ajouter à votre profil LinkedIn
août 2025
107 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Il y a 9 modules dans ce cours
Explore the basic framework needed for representing and analyzing algorithms. The module provides a comprehensive understanding of asymptotic notations and a brief discussion of how recursive algorithms are analyzed.
Inclus
16 vidéos10 lectures14 devoirs1 plugin
Explore techniques for breaking down complex problems into manageable subproblems, with applications in sorting, searching, and mathematical computations.
Inclus
13 vidéos4 lectures14 devoirs
In this module, you will gain insights into the algorithm design technique called the greedy method, which is a technique applicable to optimization problems, and how the method makes a series of greedy choices to construct an optimal solution (or close to optimal solution) for a given problem. You will also learn about greedy algorithms like fractional knapsack, activity selection problem, and job sequencing with deadlines.
Inclus
9 vidéos4 lectures9 devoirs1 plugin
In this module, you will gain insight into dynamic programming, which is a powerful problem-solving technique used in computer science to solve optimization and decision problems. You will also be introduced to the principles, algorithms, and applications of dynamic programming and learn how to break down complex problems into smaller sub-problems, store and reuse solutions to these sub-problems, and ultimately design efficient algorithms for various real-world challenges.
Inclus
8 vidéos3 lectures9 devoirs
In this module, you will explore the graph concepts, different types of graphs, and how we can represent a graph in a computer. You will also gain insight into how to model problems as graphs and design efficient algorithms for a wide range of graph-related challenges like minimum spanning trees, single source shortest paths, all pair shortest paths.
Inclus
8 vidéos3 lectures8 devoirs1 sujet de discussion
In this module, you will explore a wide range of graph-related problems like finding the minimum spanning trees, single source shortest paths, and all pair shortest paths.
Inclus
8 vidéos3 lectures9 devoirs
In this module, you will learn the concept of backtracking and its applications in problem-solving. Backtracking is a systematic algorithmic approach used to find solutions to problems where you need to make a sequence of decisions and if a decision leads to an unsatisfactory outcome, you backtrack to the previous decision and try an alternative path. This module covers the fundamentals of state space and explores specific problems such as the N-queen problem (4-queen problem), graph coloring problem, sum of subsets, and Hamilton cycle. You will also learn how to apply backtracking to find solutions to these problems.
Inclus
33 vidéos9 lectures31 devoirs1 sujet de discussion1 plugin
In this module, you will learn the principles and applications of randomized algorithms. Randomized algorithms use randomization as a fundamental tool to solve computational problems efficiently and often provide probabilistic guarantees of correctness. This module explores several key randomized algorithms, including randomized quicksort, min-cut algorithm, random permutation, convex hull, and Bloom filters. You will also learn how to analyze the expected performance and probabilistic guarantees of these algorithms in various problem-solving scenarios.
Inclus
10 vidéos2 lectures8 devoirs1 sujet de discussion
In this module, you will gain a foundational understanding of P, NP, NP-complete, and NP-hard problems, as well as key concepts like satisfiability problem (SAT), polynomial time reducibility, and common NP-complete problems.
Inclus
12 vidéos1 lecture5 devoirs
Instructeur

En savoir plus sur Algorithms
- Statut : Prévisualisation
Coursera Instructor Network
- Statut : Prévisualisation
Clemson University
- Statut : Essai gratuit
Rice University
- Statut : Essai gratuit
Stanford University
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?





Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy.
Plus de questions
Aide financière disponible,