
DSA Course
Master every major data structure and algorithm you need to excel in technical interviews and real-world engineering. This course takes you from arrays and recursion all the way to dynamic programming, graphs, and advanced structures like segment trees and tries. Whether you are targeting top-tier companies or levelling up your engineering skills, this is the complete DSA toolkit.
What you will learn:
You will build a deep understanding of core data structures including arrays, linked lists, trees, heaps, and hash tables. You will learn to analyse algorithm efficiency using Big-O notation and apply that knowledge to write faster, leaner code. The course covers essential algorithms for sorting, searching, graph traversal, and shortest-path problems. You will master dynamic programming techniques to solve classic optimisation problems like knapsack and edit distance. Advanced topics include segment trees, tries, union-find, and greedy algorithm design. You will also practise coding interview strategies, debugging methods, and clean code communication skills.
How you study in practice DSA Course
How you practise DSA Course
For businesses looking to train their team
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.
Course content
8 Chapters • 38 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsFoundations of Data Structures
Foundations of Data Structures
Lesson 1 • Introduction to Data Organisation
Covers primitive vs. composite data types and memory layout concepts. Establishes vocabulary used throughout the course.
Lesson 2 • Arrays and Strings
Examines contiguous memory storage via arrays and character sequences. Connects indexing mechanics to later search and sort algorithms.
Lesson 3 • Complexity Analysis Basics
Introduces Big-O, Big-Theta, and Big-Omega notations for evaluating efficiency. Enables students to compare data structure operations quantitatively.
Lesson 4 • Stacks and Queues
Defines LIFO and FIFO access patterns and their implementations. Demonstrates real-world use cases such as expression parsing and scheduling.
Lesson 5 • Linked Lists Fundamentals
Introduces node-pointer structures for dynamic data storage. Provides the basis for understanding stacks, queues, and trees.
Chapter 2HideHide detailsSee detailsRecursion and Problem Decomposition
Recursion and Problem Decomposition
Lesson 1 • Classic Recursive Algorithms
Applies recursion to factorial, Fibonacci, and power functions. Reinforces pattern recognition for recursive problem solving.
Lesson 2 • Recursive Thinking Fundamentals
Establishes base cases, recursive cases, and call-stack behaviour. Builds intuition needed before tackling tree and graph algorithms.
Lesson 3 • Divide and Conquer Strategy
Formalises splitting problems into independent halves and merging results. Prepares students for merge sort and quick sort in the next chapter.
Lesson 4 • Backtracking Techniques
Teaches systematic exploration of solution spaces with pruning. Connects to constraint satisfaction and combinatorial problems.
Chapter 3HideHide detailsSee detailsSorting and Searching Algorithms
Sorting and Searching Algorithms
Lesson 1 • Efficient Comparison-Based Sorts
Implements merge sort and quick sort using divide and conquer. Analyses average and worst-case performance differences between the two.
Lesson 2 • Elementary Sorting Algorithms
Covers bubble, selection, and insertion sort with step-by-step traces. Establishes baseline complexity benchmarks for comparison with advanced sorts.
Lesson 3 • Non-Comparison Sorting Methods
Introduces counting sort, radix sort, and bucket sort for linear-time sorting. Shows when integer or bounded-range data enables sub-quadratic guarantees.
Lesson 4 • Sorting Algorithm Selection
Guides decision-making based on data size, type, and memory constraints. Synthesises chapter content into a practical selection framework.
Lesson 5 • Searching Algorithms
Covers linear search, binary search, and interpolation search with complexity analysis. Connects search efficiency to data structure choice.
Chapter 4HideHide detailsSee detailsTrees and Hierarchical Structures
Trees and Hierarchical Structures
Lesson 1 • Binary Tree Traversals
Implements in-order, pre-order, post-order, and level-order traversals. Connects traversal choice to specific output requirements such as sorted output.
Lesson 2 • Binary Search Trees
Covers BST insertion, deletion, and search with complexity analysis. Demonstrates how ordering invariants enable efficient lookup.
Lesson 3 • Heaps and Priority Queues
Builds min-heaps and max-heaps using array representation and heap operations. Connects heap structure to heap sort and priority-based scheduling.
Lesson 4 • Balanced BSTs and AVL Trees
Introduces height-balancing via AVL rotations to maintain O(log n) guarantees. Prepares students for red-black trees and B-trees in advanced topics.
Lesson 5 • Tree Terminology and Properties
Defines nodes, edges, height, depth, and degree in tree structures. Provides shared vocabulary for all subsequent tree and graph content.
Chapter 5HideHide detailsSee detailsHashing and Hash Tables
Hashing and Hash Tables
Lesson 1 • Hash Table Operations and Analysis
Implements insert, delete, and search with amortised complexity analysis. Connects theoretical guarantees to practical implementation decisions.
Lesson 2 • Advanced Hashing Applications
Explores consistent hashing, Bloom filters, and cryptographic hash use cases. Extends hash table knowledge to distributed and probabilistic systems.
Lesson 3 • Collision Resolution Strategies
Compares chaining and open addressing techniques for handling collisions. Analyses load factor impact on performance for each strategy.
Lesson 4 • Hash Function Design
Covers division, multiplication, and polynomial rolling hash methods. Establishes criteria for a good hash function: uniformity and efficiency.
Chapter 6HideHide detailsSee detailsGraphs and Graph Algorithms
Graphs and Graph Algorithms
Lesson 1 • Advanced Graph Topics
Introduces topological sort, strongly connected components, and network flow basics. Prepares students for algorithm design problems in competitive and applied contexts.
Lesson 2 • Graph Representation and Terminology
Defines directed, undirected, weighted, and cyclic graphs with adjacency structures. Establishes the representation choices that affect algorithm efficiency.
Lesson 3 • Minimum Spanning Trees
Implements Kruskal and Prim algorithms using union-find and priority queues. Connects MST concepts to network design and clustering applications.
Lesson 4 • Graph Traversal Algorithms
Implements BFS and DFS with explicit queue and stack management. Applies traversals to connectivity detection and cycle identification.
Lesson 5 • Shortest Path Algorithms
Covers Dijkstra, Bellman-Ford, and Floyd-Warshall for single-source and all-pairs paths. Analyses correctness conditions including negative edge handling.
Chapter 7HideHide detailsSee detailsDynamic Programming
Dynamic Programming
Lesson 1 • DP on Trees and Graphs
Extends DP to tree structures and DAG-based problems. Connects graph traversal knowledge to state-space DP formulations.
Lesson 2 • DP on Sequences and Intervals
Applies DP to longest increasing subsequence and interval scheduling problems. Extends pattern recognition to two-pointer and binary search optimisations.
Lesson 3 • DP Principles and Memoisation
Defines overlapping subproblems and optimal substructure as DP prerequisites. Introduces top-down memoisation as the first implementation strategy.
Lesson 4 • Bottom-Up Tabulation
Converts memoised solutions into iterative table-filling approaches. Demonstrates space optimisation by reducing table dimensions.
Lesson 5 • Classic DP Problems
Solves longest common subsequence, knapsack, and edit distance problems. Builds a reusable pattern library for recognising DP problem types.
Chapter 8HideHide detailsSee detailsAdvanced Data Structures and Algorithm Design
Advanced Data Structures and Algorithm Design
Lesson 1 • Trie and Suffix Structures
Implements prefix trees for fast string search and autocomplete. Introduces suffix arrays for pattern matching in large text corpora.
Lesson 2 • Segment Trees and Fenwick Trees
Builds range query and point update structures for efficient interval operations. Compares segment trees and Fenwick trees by implementation complexity and use case.
Lesson 3 • Amortised Analysis and Advanced Topics
Applies aggregate, accounting, and potential methods to analyse data structure sequences. Introduces skip lists and self-adjusting structures as advanced alternatives.
Lesson 4 • Union-Find and Disjoint Sets
Implements union by rank and path compression for near-constant-time operations. Applies union-find to dynamic connectivity and Kruskal MST.
Lesson 5 • Greedy Algorithm Design
Formalises greedy choice property and exchange argument proofs. Solves activity selection, Huffman coding, and interval problems greedily.
Your valid completion certificate
This course is for you:
Computer science student: seeking structured depth beyond what lectures typically provide.
Self-taught developer: ready to fill the algorithmic gaps holding back career growth.
Bootcamp graduate: needing the CS fundamentals that intensive programmes often skip entirely.
Software engineer: preparing to pass technical screens at highly competitive technology companies.
Career changer: moving into software development and building a rigorous technical foundation.
Competitive programmer: looking to systematise problem-solving patterns for timed contest environments.
What our students say
Your lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of interest without needing to change platforms... I'm grateful for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast and simple to use. The diversity of content and complementary videos really help with learning.

Top qualifications
FAQ
Who is Dedika?
Is the certificate valid in the United Kingdom?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















