VOOZH about

URL: https://www.coursera.org/learn/packt-algorithms-and-problem-solving-with-advanced-techniques-xaq38

⇱ Algorithms and Problem Solving with Advanced Techniques | Coursera


Algorithms and Problem Solving with Advanced Techniques

Algorithms and Problem Solving with Advanced Techniques

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Learn how to solve complex problems using dynamic programming techniques.

  • Understand greedy algorithms and their application in optimization problems.

  • Master graph algorithms, including BFS, DFS, and shortest path techniques.

  • Gain expertise in bitwise operations to solve optimization and number-based problems.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

May 2026

Assessments

7 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Data Structures & Algorithms in JavaScript Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • 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 5 modules in this course

This course features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this course, you will master advanced problem-solving techniques and learn to approach algorithmic challenges with a structured mindset. By covering key techniques like dynamic programming, greedy algorithms, and graph theory, this course will equip you with the skills to solve complex problems with confidence. You'll learn how to break down large problems into smaller subproblems and optimize your solutions for efficiency and scalability. The course starts with an in-depth exploration of dynamic programming, where you will implement various problems and learn how to select the most effective strategies for solving them. Then, you'll move into greedy algorithms and their applications, followed by a deep dive into graph algorithms. The course covers graph traversal methods like BFS and DFS, as well as more complex topics like Dijkstra's algorithm, Bellman-Ford, and minimum spanning trees. Each section is accompanied by practical problems to reinforce your learning. As you progress, you'll develop critical thinking skills and a deep understanding of algorithmic principles. This course encourages hands-on problem-solving, with each problem designed to stretch your ability to approach problems from multiple angles. You'll gain practical experience in coding and problem-solving, ensuring you're well-prepared for real-world technical challenges. The course is ideal for those who already have basic programming knowledge and want to deepen their understanding of algorithms and problem-solving techniques. Whether you’re preparing for technical interviews or looking to enhance your algorithmic thinking, this course is tailored to boost your skill set. It is especially suitable for computer science enthusiasts, developers, and those aspiring to excel in technical fields. By the end of the course, you will be able to apply dynamic programming, greedy algorithms, graph traversal methods, and backtracking to solve complex problems, optimize algorithms, and enhance your problem-solving efficiency.

In this module, we will introduce you to dynamic programming as a technique to break complex problems into simpler subproblems. You will learn how to apply both top-down and bottom-up approaches to solve various challenges, optimizing solutions using previously computed results.

What's included

17 videos2 readings1 assignment

17 videosβ€’Total 193 minutes
  • Introduction to Dynamic Programmingβ€’12 minutes
  • Dynamic Programming Implementationβ€’4 minutes
  • Top Down vs Bottom Upβ€’9 minutes
  • Practice Problem 1 - Climbing Stairsβ€’10 minutes
  • Practice Problem 2 - Jump Gameβ€’14 minutes
  • Practice Problem 3 - Coin Changeβ€’13 minutes
  • Practice Problem 4 - Target Sumβ€’14 minutes
  • Practice Problem 5 - Longest Increasing Subsequenceβ€’13 minutes
  • Practice Problem 6 - Longest Common Subsequenceβ€’12 minutes
  • Practice Problem 7 - House Robberβ€’14 minutes
  • Practice Problem 8 - House Robber IIβ€’8 minutes
  • Practice Problem 9 - 0-1 Matrixβ€’11 minutes
  • Practice Problem 10 - Integer Replacementβ€’9 minutes
  • Practice Problem 11 - Decode Waysβ€’16 minutes
  • Practice Problem 12 - Partition Equals Subset Sumβ€’14 minutes
  • Practice Problem 13 - Longest Palindromic Substringβ€’11 minutes
  • Practice Problem 14 - Min Cost Climbing Stairsβ€’8 minutes
2 readingsβ€’Total 20 minutes
  • Introduction to the Course 'Algorithms and Problem Solving with Advanced Techniques'β€’10 minutes
  • Full Specialization Resourceβ€’10 minutes
1 assignmentβ€’Total 15 minutes
  • Dynamic Programming - Assessmentβ€’15 minutes

In this module, we will explore the concept of greedy algorithms, a class of algorithms that make locally optimal choices at each step. You will learn to identify when greedy strategies can provide optimal or near-optimal solutions to a problem.

What's included

1 video1 assignment

1 videoβ€’Total 13 minutes
  • Introduction to Greedy Algorithmsβ€’13 minutes
1 assignmentβ€’Total 15 minutes
  • Greedy Algorithms - Assessmentβ€’15 minutes

In this module, we will dive into the world of graphs, examining their various types and structures. You will learn graph traversal techniques such as BFS and DFS and explore advanced algorithms like Dijkstra’s and Bellman-Ford for shortest paths, as well as Prim’s for minimum spanning trees.

What's included

41 videos1 assignment

41 videosβ€’Total 274 minutes
  • What are Graphs?β€’6 minutes
  • Directed vs Undirected Graphsβ€’5 minutes
  • Weighted vs Unweighted Graphsβ€’5 minutes
  • Terms of Graphs Part 1β€’4 minutes
  • Types of Graphs Part 1β€’4 minutes
  • Types of Graphs Part 2β€’8 minutes
  • Implementing Graphs Part 1β€’6 minutes
  • Implementing Graphs Part 2β€’8 minutes
  • Implementing Graphs Part 3β€’4 minutes
  • Adjacency Matrix Demonstrationβ€’8 minutes
  • Adjacency List Implementation Demonstrationβ€’5 minutes
  • Introduction to Traversalsβ€’7 minutes
  • BFS Workingβ€’9 minutes
  • BFS Implementationβ€’9 minutes
  • BFS Property #1β€’8 minutes
  • BFS over Binary Weighted Graphsβ€’7 minutes
  • Introduction to DFSβ€’7 minutes
  • DFS Iterative Implementationβ€’6 minutes
  • DFS Recursive Implementationβ€’4 minutes
  • DFS Important Propertiesβ€’5 minutes
  • Cycle Detection Part 1β€’9 minutes
  • Cycle Detection Part 2β€’4 minutes
  • Cycle Detection Part 3β€’4 minutes
  • Cycle Detection Implementationβ€’7 minutes
  • What is Topological Sorting?β€’4 minutes
  • Topological Sorting Example 1β€’4 minutes
  • Single Source Shortest Path Algorithmβ€’4 minutes
  • Djikstra's Algorithmβ€’7 minutes
  • Djikstra's Algorithm Implementationβ€’14 minutes
  • Introduction to Bellman-Ford Algorithmβ€’4 minutes
  • Bellman-Ford Algorithm Workingβ€’7 minutes
  • Bellman-Ford Algorithm Implementationβ€’6 minutes
  • Introduction to Minimum Spanning Treeβ€’3 minutes
  • Prim's Algorithmβ€’5 minutes
  • Practice Problem 1 - Course Scheduleβ€’10 minutes
  • Practice Problem 2 - Number of Islandsβ€’12 minutes
  • Practice Problem 3 - Find the Town Judgeβ€’9 minutes
  • Practice Problem 4 - Surrounded Regionsβ€’13 minutes
  • Practice Problem 5 - Number of Enclavesβ€’9 minutes
  • Practice Problem 6 - Network Delay Timeβ€’7 minutes
  • Practice Problem 7 - Flood Fillβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Graphs - Assessmentβ€’15 minutes

In this module, we will cover the powerful backtracking technique, enabling you to explore all potential solutions to problems by undoing steps when necessary. Through hands-on examples like N Queens and Combination Sum, you will develop the skills to apply backtracking in algorithm design.

What's included

5 videos1 assignment

5 videosβ€’Total 54 minutes
  • What is Backtracking?β€’14 minutes
  • Backtracking Example 1β€’8 minutes
  • Practice Problem 1 - Subsetsβ€’8 minutes
  • Practice Problem 2 - Combination Sumβ€’12 minutes
  • Practice Problem 3 - N Queensβ€’11 minutes
1 assignmentβ€’Total 15 minutes
  • Backtracking - Assessmentβ€’15 minutes

In this module, we will introduce you to bitwise operations, which allow you to manipulate numbers at the bit level. You will learn how to leverage bit magic to solve problems efficiently, including detecting duplicates, reversing integers, and counting bits.

What's included

10 videos1 reading3 assignments

10 videosβ€’Total 79 minutes
  • Introduction to Bitwise Operatorsβ€’5 minutes
  • Common Bitwise Operatorsβ€’7 minutes
  • Practice Problem 1 - Single Numberβ€’6 minutes
  • Practice Problem 2 - Counting Bitsβ€’10 minutes
  • Practice Problem 3 - Sum of Two Integersβ€’8 minutes
  • Practice Problem 4 - Missing Numbersβ€’5 minutes
  • Practice Problem 5 - Divide Two Integersβ€’12 minutes
  • Practice Problem 6 - Reverse Integerβ€’7 minutes
  • Practice Problem 7 - Number of 1 Bitsβ€’7 minutes
  • Practice Problem 8 - Find the Duplicate Numberβ€’12 minutes
1 readingβ€’Total 10 minutes
  • Conclusion to the Course ' Algorithms and Problem Solving with Advanced Techniques'β€’10 minutes
3 assignmentsβ€’Total 90 minutes
  • Bitmagic - Assessmentβ€’15 minutes
  • Full Course Assessmentβ€’60 minutes
  • Full Course Practice Assessmentβ€’15 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Packt
1,926 Coursesβ€’560,010 learners

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

This course covers advanced algorithmic techniques such as dynamic programming, greedy algorithms, graph theory, backtracking, and bit manipulation. These techniques are fundamental for solving complex problems efficiently and are widely applicable in fields like software development, data science, and competitive programming. By mastering these methods, learners can optimize solutions for real-world challenges and improve their problem-solving skills.

"Algorithms and Problem Solving with Advanced Techniques" introduces learners to essential algorithmic strategies. The course emphasizes dynamic programming, greedy algorithms, graph algorithms, backtracking, and bit manipulation. It provides both theoretical understanding and practical implementation of these methods, allowing learners to solve advanced computational problems effectively.

After completing this course, you will be equipped with the knowledge and skills to solve complex algorithmic problems. You will understand how to apply dynamic programming, graph traversal, backtracking, and bitwise techniques to optimize solutions for real-world scenarios. This will enhance your problem-solving capabilities, especially for coding interviews and competitive programming.

To get the most out of this course, you should have a basic understanding of programming concepts such as variables, loops, and arrays. Familiarity with simple algorithms and data structures like sorting and searching will also be helpful, but is not mandatory. The course will cover advanced topics in depth, so prior experience with basic algorithmic techniques is recommended but not required.

This course is ideal for anyone looking to deepen their understanding of algorithms and improve their problem-solving skills. It is especially useful for software developers, aspiring engineers, and students preparing for coding interviews or programming competitions. If you're interested in mastering advanced techniques and tackling complex computational problems, this course is for you.

The course consists of approximately 10 hours of video content, making it a relatively short and intensive program. Depending on your pace and how much time you spend on practice problems, it can be completed in a few days to a week.

Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.

If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.

Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,