Back to DSA notes

Learning roadmap

DSA foundations

Choose a goal, then follow each stage as an ordered, explained outline.

Learning goal

Learn deeply

Build a durable mental model, then transfer it into a working application.

Implementation fluency

Stage purpose: Establish the vocabulary and first working mental model.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Explain the core idea and use it in a small example.

Estimated time: 70 minutes

  1. Lesson · Estimated time: 35 minutes

    Java for DSA

    Outcomes
    • Choose interview-ready Java collections
    • Avoid numeric overflow in solutions

    Prerequisites: No prerequisite topics

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Java Strings & Fast Input — Carry the Java subset into strings, characters, and fast input—the daily mechanics of a timed problem.

  2. Lesson · Estimated time: 35 minutes

    Java Strings & Fast Input

    Outcomes
    • Transform strings without accidental quadratic work
    • Parse input with a reusable fast-reader pattern

    Prerequisites: Java for DSA

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Modular Arithmetic for DSA — Add arithmetic discipline to the same implementation toolkit before counting larger structures.

Maths for problems

Stage purpose: Connect the concepts into a repeatable problem-solving model.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Apply the model to a representative exercise without copying a recipe.

Estimated time: 75 minutes

  1. Lesson · Estimated time: 35 minutes

    Modular Arithmetic for DSA

    Outcomes
    • Keep modular calculations overflow-safe
    • Use fast exponentiation and modular inverses

    Prerequisites: Java for DSA

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Combinatorics — Counting Techniques — Use the arithmetic toolkit to make counting formulas executable instead of merely memorized.

  2. Lesson · Estimated time: 40 minutes

    Combinatorics — Counting Techniques

    Outcomes
    • Choose permutation or combination reasoning
    • Compute constrained counts safely

    Prerequisites: Modular Arithmetic for DSA

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Java for DSA — Workbook — Retrieve the foundation ideas across mixed prompts before moving into specialized data structures.

Retrieval and transfer

Stage purpose: Transfer the concepts into a realistic implementation task.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Produce a small artifact that proves the decision works.

Estimated time: 45 minutes

  1. Workbook · Estimated time: 45 minutes

    Java for DSA — Workbook

    Outcomes
    • Retrieve foundation patterns without notes
    • Diagnose a wrong answer from its symptom

    Prerequisites: Combinatorics — Counting Techniques

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Complete this path by applying these outcomes in your own project.