Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Advanced Concepts in Recursion, Backtracking, and OOP

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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 explore advanced topics in recursion, backtracking, and object-oriented programming (OOP). You’ll dive deep into recursive techniques, starting with basic problems like Fibonacci numbers and binary search, and advancing to more complex challenges like quick sort, merge sort, and maze solving. Through various problem-solving exercises, you'll master recursion’s power to simplify problem-solving and improve efficiency. The course also covers the powerful technique of backtracking, emphasizing how to solve constraint satisfaction problems like Sudoku. You’ll then transition to object-oriented programming, learning about classes, objects, inheritance, encapsulation, and polymorphism—core principles that underpin modern software design. Additionally, the course explores data structures such as linked lists, stacks, queues, and binary trees, with a focus on their application in solving real-world problems. By working through a series of LeetCode problems, you’ll develop a strong grasp of algorithmic thinking and efficient coding techniques, including recursion, backtracking, and OOP. By the end of the course, you will be able to implement advanced recursion techniques, solve backtracking problems, apply object-oriented principles in code, and work with essential data structures like linked lists and binary trees to solve complex algorithmic challenges.

Syllabus

  • Recursion Deep Dive
    • In this module, we will dive deep into recursion, exploring its powerful application in solving a wide range of problems. You will learn how recursion can be used for sorting (bubble sort, quick sort), searching (binary search), and advanced problems such as string permutations, maze problems, and complex coding interview challenges from companies like Google and Amazon.
  • BackTracking
    • In this module, we will introduce the concept of backtracking, a technique for building solutions incrementally and abandoning them when they no longer meet the problem’s constraints. You will also learn how to apply backtracking to problems like Sudoku and other constraint-based challenges.
  • Object Oriented Programming - Learn in the Best Way
    • In this module, we will explore Object-Oriented Programming (OOP), providing a comprehensive understanding of concepts like classes, inheritance, and polymorphism. You will also dive into advanced topics like interfaces, exception handling, and the Java Collections Framework, which are essential for writing efficient, maintainable, and scalable Java applications.
  • Linked List
    • In this module, we will focus on linked lists, a crucial data structure in computer science. You will learn how to implement and manipulate singly, doubly, and circular linked lists, while also solving problems like detecting cycles, merging sorted lists, and reversing lists, with both iterative and recursive approaches.
  • Stacks and Queues
    • In this module, we will introduce stacks and queues, essential linear data structures. You will learn to implement custom stacks and queues, including dynamic and circular variations, and explore their applications in solving problems like expression evaluation, depth-first search, and more.
  • Binary Trees
    • In this module, we will explore binary trees, one of the most important tree-based data structures used in various algorithms. You will learn how to perform essential tree operations, including counting nodes, calculating the sum of nodes, finding tree height, and solving problems like finding the diameter and checking for subtrees.
  • Binary Search Trees
    • In this module, we will introduce binary search trees (BST), focusing on their structure and how they enable efficient searching, insertion, and deletion. You will learn how to implement and apply BST operations to optimize data handling and solve various algorithmic challenges.

Taught by

Packt - Course Instructors

Reviews

Start your review of Advanced Concepts in Recursion, Backtracking, and OOP

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.