What you'll learn

This course provides a comprehensive transition from Core Java programming to the implementation of fundamental Data Structures and Algorithms. It is designed to equip students with the skills required for modern software development and technical interviews.

  • Java Basics: JVM, JDK, JRE, Variables, Tokens and Data Types Control Structures (Conditional & Loops) + Scanner Class Introduction to Time & Space Complexity (Big O Notation) with Coding Arrays in Java (1D & 2D): Memory allocation & Traversal OOPs Principles Part 1: Classes, Objects, Static vs Instance, Heap and Stack Building, Run-time Binding OOPs Part 2: Abstraction (Abstract Classes and Interfaces)
  • Inheritance, Polymorphism & Exception Handling Mechanism String, StringBuilder, Thread-safe and String Pool Manipulation Recursion Fundamentals: Stack Traces & Basic Problems Advanced Recursion & Backtracking Intro (MergeSort) Generics and Wrapper Classes in Java LeetCode Practice: Palindrome Number, Valid Parentheses
  • JCF Overview & The List Interface: ArrayList vs Vector LinkedLists: Singly vs Doubly & Java's LinkedList API Stack & Queue: Deque interface and PriorityQueue usage Sorting & Searching: Arrays.sort(), Comparator , Comparable and Binary Search LeetCode (Lists): Merge Two Sorted Lists, Reverse Linked List LeetCode (Stack/Queue): Min Stack, Implement Queue using Stacks
  • Hashing Basics & Set Interface: HashSet, LinkedHashSet, TreeSet Map Interface: HashMap, TreeMap, and Internal working (Buckets) Binary Trees: Theory, BFS vs DFS (Pre, In, Post-order traversal) Binary Search Tree (BST) & Balanced Trees (Concepts), LeetCode (Hashing): Two Sum, etc

Sarvesh Chopra
Assistant Professor

Sarvesh Chopra is an experienced professional with a strong background in business, technology, and industry practices, bringing valuable insights into real-world applications and organizational dynamics. With exposure to diverse domains, he has developed expertise in problem-solving, strategic thinking, and practical implementation of modern technologies. His professional journey reflects involvement in business operations and industry-oriented activities, contributing to effective decision-making and project execution. Sarvesh is passionate about knowledge sharing and skill development, focusing on bridging the gap between academic learning and industry expectations. As a resource person, he emphasizes experiential learning, encouraging students to think critically and apply concepts in real-world scenarios. His sessions are interactive and application-driven, aimed at enhancing technical competence, innovation, and employability. He strives to equip learners with practical skills and industry awareness required to succeed in today’s competitive and technology-driven environment.