Employability Enhancement Program-Level 2
Java with Data Structures
Duration: 75 Hours
Year :2024-2025
Modules
Program Objectives
Level 1: Problem Solving with DSA using Core
Java Preparing the candidates to crack Interviews’
Oops Concepts Providing Code Optimization Technique
Classes, Objects, Exception Handling Choosing the Best Data Structures to Solve the problems
Inheritance, Polymorphism, Solving the problems with less time and applying the Best
Solving Data Structures Problems algorithms.
Using Collection Framework Concepts
Solving Problems asked in HackerRank
Codecheff and other Competitive Tools / Platform:
Platforms
Level 2: Problem Solving with DSA using Eclipse IDE
Collection Framework and Stream APIs. JDK
Collections
Stream API
Lamba Expression
Level 2: Problem Solving with DSA using Core Java (25 Hours)
Variables Data Types Operators
Control Statements Oops and Object class Arrays
Static, this, super keyword Inheritance Abstraction and Encapsulation
Polymorphism String StringBuffer and StringBuilder
Exception Handling Multi-Threading
Competitive Problem Solving on Data Structures using Java
Overview of Data Structures
Classification of Data Structures: Linear vs Non-Linear
Linear Data Structures
Static Data Structures - Arrays
Dynamic Data Structures - Queue, Stack, Linked List
Implementing Linked List in Java
Definition and types: Single, Double, Circular
CRANES VARSITY (A Division of CSIL) St.Marks Road, Bangalore Ph: 080-6764 4800/4848 ( www.cranesvarsity.com )
Sort Algorithms for the above Data Structures (Problem Type)
Bubble Sort (Strategy: Exchanging), Quick Sort (Strategy: Divide and Conquer), Merge
Sort (Strategy: Divide and Conquer)
Sampe Program List
Array Problems
1. Subarray with Given Sum
Find a continuous subarray in a given array whose sum equals a specific target value.
2. Maximum Product Subarray
Determine the subarray with the maximum product from a given array.
3. Rotate Array
Rotate an array `k` times to the right in `O(n)` time.
4. Merge Two Sorted Arrays Without Extra Space
Merge two sorted arrays in-place without using extra memory.
String Problems
5. Anagram Checker
Check if two strings are anagrams of each other.
6. Longest Palindromic Substring
Find the longest substring of a string that is a palindrome.
7. String Compression
Compress a string by replacing consecutive duplicate characters with their counts (e.g.,
"aaabb" → "a3b2").
8. Permutations of a String
Generate all possible permutations of a string.
Linked List Problems
9. Detect Cycle in Linked List
Determine if a given linked list contains a cycle and, if so, find the starting node of the
cycle.
10. Reverse a Linked List
Reverse a singly linked list in `O(n)` time.
CRANES VARSITY (A Division of CSIL) St.Marks Road, Bangalore Ph: 080-6764 4800/4848 ( www.cranesvarsity.com )
Problem Solving with DSA using Collection Framework and Stream APIs (60 Hours)
Collections Lambda Expression
Generic Collection Stream APIS
Loosly Coupled v/s Tightly Coupled
ArrayList, List, HashMap, Stack, Queue
System
Vectors
Competitive Problem Solving on Data Structures using Collection and Stream APIs
Array and List Problems
1. Find Duplicate Elements
Given an array, find all the duplicate elements using `Set` and `Stream API`.
2. Sort by Frequency
Sort elements of an array based on their frequency. Use a `Map` to store frequencies and `Stream` to sort.
3. Pair Sum Using Streams
Find all pairs in an array whose sum equals a target value. Use `Map` for indexing and Streams for filtering.
4. Find Kth Largest Element
Find the Kth largest element in a list using the `PriorityQueue` or `Stream.sorted()` method.
5. Partition List into Even and Odd
Partition a list into two lists (even and odd) using the `Collectors.partitioningBy()` method.
String Problems
6. Group Anagrams
Group a list of strings into anagrams using a `Map` and Stream operations.
7. Word Frequency Counter
Count the frequency of words in a paragraph using `Collectors.groupingBy()` and `Collectors.counting()`.
8. Longest Word in a Sentence
Find the longest word in a given sentence using `Stream.max()` and `Comparator.comparingInt()`.
9. Remove Duplicates from String
Remove all duplicate characters from a string using `Set` and `Collectors.joining()`.
10. Character Frequency Map
Create a frequency map of characters in a string using `Collectors.groupingBy()` and `Collectors.counting()`.
Map and Set Problems**
11. **Find Common Elements in Two Lists**
Find common elements between two lists using `Set` operations and Streams.
Program Outcomes
Making Candidates to grow in confidence in solving Complex Problems
Candidates should be able to crack top MNC companies Interviews
CRANES VARSITY (A Division of CSIL) St.Marks Road, Bangalore Ph: 080-6764 4800/4848 ( www.cranesvarsity.com )