Skip to content
SparkTime, home

Free course · Technology

DSA From Zero to Job-Ready

A Practical Guide with Java

A free, 28-article course that takes you from basic problem solving to independently approaching common interview problems in Java. It explains each idea first, shows it in code you can run, and ends with exercises, solutions, an interview workflow and a study plan.

28
lessons
5
modules
9 h
of reading

Curriculum

5 modules · 28 lessons · about 9 h

Module 1Foundations (Think Like a Programmer)
  1. 01Start Here: Your Roadmap from Zero to Job-Ready DSA15 min
  2. 02Problem Solving Fundamentals: From a Question to an Algorithm17 min
  3. 03Java Essentials for DSA21 min
  4. 04Time and Space Complexity Without the Confusion19 min
Module 2Data Structures and Recursion
  1. 05Arrays and Array-Based Problem Solving20 min
  2. 06Strings: Characters, Immutability, and Efficient Manipulation17 min
  3. 07Linked Lists: Nodes, Pointers, and Pointer Reasoning20 min
  4. 08Stacks and Queues19 min
  5. 09Hashing: HashMap, HashSet, and Frequency Patterns20 min
  6. 10Recursion and Backtracking24 min
  7. 11Trees and Binary Search Trees22 min
  8. 12Heaps and Priority Queues21 min
Module 3Core Algorithms and Reusable Patterns
  1. 13Searching and Sorting: Choose the Right Approach22 min
  2. 14Two Pointers: Solve Problems by Coordinating Indices18 min
  3. 15Sliding Window: Efficient Subarray and Substring Problems18 min
  4. 16Prefix Sums and Difference Arrays19 min
  5. 17Greedy Algorithms and Interval Problems22 min
  6. 18Bit Manipulation and Mathematical Patterns20 min
Module 4Advanced Interview Topics
  1. 19Graphs: Representations, BFS, and DFS24 min
  2. 20Shortest Paths and Topological Sorting24 min
  3. 21Dynamic Programming: Learn to Recognize Overlapping Subproblems20 min
  4. 22Dynamic Programming Practice: From 1D to 2D21 min
  5. 23Tries and Prefix-Based Search19 min
  6. 24Range Queries and Disjoint Set Union22 min
Module 5From Practice to Job-Ready
  1. 25The Interview Problem-Solving Workflow23 min
  2. 26Build a DSA Practice Project24 min
  3. 27Your 12-Week DSA Study and Revision Plan18 min
  4. 28Indian Fresher Placement and Coding Interview Preparation19 min

This is a free course on data structures and algorithms (DSA), written for people who are starting from the beginning and want to become comfortable with the problems that coding interviews and online assessments ask. It uses Java for every implementation, but each idea is explained in plain language first, so the thinking carries over to any language.

Who it is for

  • Students preparing for their first software-development job.
  • Fresh graduates and early-career developers.
  • Beginners who need DSA from the foundations, including preparation for campus placements and fresher interviews in India.

How the course is organised

Start with the first article and go in order, because each one builds on the ones before it.

Module

Articles

What it builds

1. Foundations

Start Here, Problem Solving, Java Essentials, Complexity

How to approach problems, the Java you need, and how to measure speed

2. Data Structures and Recursion

Arrays, Strings, Linked Lists, Stacks and Queues, Hashing, Recursion and Backtracking, Trees and BSTs, Heaps

The essential structures, with recursion placed before trees

3. Core Algorithms and Patterns

Searching and Sorting, Two Pointers, Sliding Window, Prefix Sums, Greedy and Intervals, Bits and Maths

Reusable techniques for many problems

4. Advanced Interview Topics

Graphs, Shortest Paths and Topological Sort, DP Foundations, DP Practice, Tries, Range Queries and DSU

The harder topics, with essential and optional parts labelled

5. From Practice to Job-Ready

Interview Workflow, Practice Project, 12-Week Plan, Placement Preparation

Turning knowledge into interview performance

About the Java code

  • The code targets Java 17 and uses classic syntax, so it is easy to follow.
  • Complete programs start with a comment such as // File: Main.java that tells you what to name the file. Compile with javac Main.java and run with java Main.
  • The text under each complete program shows the output the program printed when the course was written. If your output differs, trace the difference. That is a good way to learn.
  • Fragments without that comment are illustrations, not complete programs.

How to study

Read once for the idea, trace the dry run by hand, type the code yourself, break it on purpose, and attempt every exercise before opening its solution. Revise after a day, a week and a month. The 12-week plan turns this into a schedule, and the first article explains the routine in detail.

Must-know and nice-to-know

Not every topic carries equal weight. As a rough guide for fresher roles, arrays, strings, hashing, sorting and searching, linked lists, stacks and queues, recursion, basic trees, two pointers and sliding window come first. Graphs, heaps, dynamic programming basics, greedy and prefix sums come next. Tries, segment trees and Fenwick trees are optional depth. Articles label optional material when they reach it.