What you'll learn

This final module is all about bringing everything together. It’s where your understanding of Data Structures and Algorithms (DSA) meets the real world. You’ll take on advanced problems and work on hands-on projects that challenge you to apply what you’ve learned—whether it’s recursion, dynamic programming, trees, graphs, or hashing. The focus isn’t just on getting the right answer, but on writing clean, efficient, and fast code that can hold up under pressure - just like in interviews or real-world software projects. Think of this as your DSA capstone—where you level up from learning to building, solving, and creating. By the end of this course, you’ll be confident in solving complex DSA problems using techniques like backtracking, graph traversal, and dynamic programming. You’ll know how to choose and apply the right data structures—like heaps, stacks, queues, or hash maps - to tackle real challenges. Your code will be not only correct but clean, optimized, and ready for time-bound situations. Most importantly, you’ll build complete projects that bring together all these skills - showing that you can think critically, solve problems creatively, and turn your DSA knowledge into real, working solutions.

  • Introduction to DSA, Time & Space Complexity Arrays – Basics, Operations (Insert, Delete, Search), Sorting (Bubble, Selection, Insertion), Searching (Binary Search, Two-Pointer, Sliding Window), Advanced Problems & Practice
  • Singly Linked List – Implementation & Operations, Doubly and Circular Linked List, Recursion – Basics, Backtracking, Advanced Problems & Practice
  • Stack – Implementation, Applications (Infix to Postfix, Next Greater Element), Queue – Implementation, Types (Circular Queue, Priority Queue), Hashing – Hash Tables, Collision Handling, Hashing – Applications (Frequency Count, LRU Cache), Practice Day – Stack, Queue, and Hashing Problems
  • Binary Trees – Basics, Traversals (Inorder, Preorder, Postorder), Binary Trees – Advanced (Diameter, LCA, View Problems), Binary Search Tree (BST) – Operations, Problems, Heaps – Min Heap, Max Heap, Heap Sort, Advanced Problems & Practice
  • Graphs – Representation, BFS, DFS, Graphs – Topological Sort, Cycle Detection Shortest Path Algorithms (Dijkstra, Floyd Warshall) Dynamic Programming (Basics, Knapsack) DP – Advanced Problems (LCS, LIS)
  • Advanced Problems & Practice, Solve real-world problems with a time limit, Projects

Mukesh Sharma
Assistant Professor

Mukesh Sharma is a dedicated Computer Science educator with over 7 years of teaching experience, currently working at Lovely Professional University where he also serves as the Course Coordinator for Data Structures and Algorithms (DSA). Specializing in both foundational and advanced topics such as arrays, linked lists, recursion, trees, graphs, and dynamic programming, he is known for his clear and practical teaching style that makes complex concepts accessible and applicable to real-world scenarios. Over the years, he has mentored students for coding competitions, technical interviews, and academic projects, helping them develop strong problem-solving skills and deep algorithmic thinking. His commitment to quality education and student success has earned him recognition as a respected and impactful DSA trainer.