Data Structures & Algorithms
Arrays to graphs, sorting and searching, recursion, dynamic programming and Big-O: the foundation of every technical interview
- 8 lessons
- 5.5 hours
- Beginner
- Graded labs: 24
What you will learn
- Analyse running time with Big-O for loops and recursion and compare two solutions on paper.
- Choose between array, linked list, stack, queue, hash map and heap by the cost of the operations you need.
- Implement binary search, merge sort and quicksort and explain their cost and stability.
- Traverse trees and graphs with DFS and BFS and find shortest paths in unweighted graphs.
- Find shortest paths in weighted graphs with Dijkstra and Bellman-Ford, and build minimum spanning trees with Union-Find and Kruskal.
- Solve problems with recursion and memoization and convert them to iterative form.
- Apply dynamic programming by defining the state, the transition and the base case.
- Solve a medium interview problem in 30 minutes with tests and a stated complexity.
How you are assessed
Algorithms are learned by solving: nearly every lab is a problem graded against edge cases, quizzes check your complexity reasoning, and challenges add timed pressure.
- Complete every Foundations lesson
- Average on first-try quizzes: at least 70%
- Graded lab exercises to pass: 3
- Challenges to solve: 2
- Lessons
Learn the toolbox
Complete every core lesson on complexity and fundamental data structures.
- Quizzes
State the complexity
Average at least 70% on first-try quizzes asking you to pick the right structure or Big-O.
- Lab exercises
Solve with tests
Pass at least 3 graded problems (visible edge cases included) in any language you prefer.
- Challenges
Beat hidden tests
Solve at least 2 algorithm challenges graded by hidden tests.
Curriculum
Core structures and algorithms
Big-O, arrays and hash maps, linked lists, stacks and queues, sorting and binary search, trees and graphs, recursion and dynamic programming.
- 1.Complexity & Big-O: Measuring How Work Grows
How to measure an algorithm by how its work grows with the input, not by seconds on your laptop. Big-O notation, the common growth classes (constant, logarithmic, linear, n log n, quadratic, exponential) and how to read them off a loop.
40 min 1 quiz Graded labs: 3 - 2.Arrays, Strings & Hash Maps: The Everyday Toolkit
The two workhorse structures of everyday programming: contiguous arrays (and strings) and hash maps/sets for constant-time lookup. Learn the counting, two-pointer and prefix-sum patterns that turn many O(n²) brute-force ideas into O(n).
40 min 1 quiz Graded labs: 3 - 3.Linked Lists, Stacks & Queues: Who Goes Next?
Linked lists and the two classic access disciplines: stack (last in, first out) and queue (first in, first out). They power undo history, expression parsing, bracket matching, call stacks and breadth-first search.
40 min 1 quiz Graded labs: 3 - 4.Sorting & Binary Search: Order Is a Superpower
Why sorted data is powerful. Comparison sorts (insertion, merge, quick), what O(n log n) really means, when to use the built-in sort, and binary search, including searching for the first position where a condition becomes true and searching on the answer itself.
40 min 1 quiz Graded labs: 3 - 5.Trees & Graphs: Walking Through Networks
Trees (binary trees, binary search trees) and graphs as models of hierarchies, maps and networks. Representations (adjacency list vs matrix), depth-first and breadth-first traversal, grids as graphs, connected components and shortest paths in unweighted graphs.
40 min 1 quiz Graded labs: 3 - 6.Recursion & Dynamic Programming: Solve It Once, Remember It
Solve a big problem by solving smaller copies of itself. Base cases and the call stack, why naive recursion can explode exponentially, then memoization and bottom-up tables (Fibonacci, coin change, longest common subsequence, knapsack).
40 min 1 quiz Graded labs: 3
Heaps, weighted graphs and greedy choices
Priority queues, shortest paths, Union-Find and minimum spanning trees, then greedy and backtracking strategies.
- 7.Heaps & Priority Queues: The Most Urgent Item First
A priority queue always hands you the smallest (or largest) item next, and a binary heap does it in O(log n). Learn heap order, push/pop, heapify, top-k problems and merging sorted streams.
40 min 1 quiz Graded labs: 3 - 8.Shortest Paths & Union-Find: Weighted Roads and Cheap Networks
Weighted graphs: Dijkstra's algorithm with a heap, why negative edges break it, and when Bellman-Ford is needed. Plus the Union-Find (disjoint set) structure for connectivity and minimum spanning trees with Kruskal.
45 min 1 quiz Graded labs: 3
Run a real example
This is the kind of code you will write. Run it, then change it and run it again.
PythonBreadth-first search explores in rings, so the first time it reaches the exit is a shortest path. Add a wall to block the exit and watch it return -1.
Recommended challenges
Put the skills to work against a puzzle with a flag or a test suite.
Badges
Earned automatically from your progress on this device.
First Loop
LockedFinish your first lesson.
0 / 1
Toolbox Ready
LockedComplete every core lesson.
0 / 6
Problem Solver
LockedPass 3 graded lab exercises.
0 / 3
Big-O Brain
LockedScore 80% or more on the first try in 4 lesson quizzes.
0 / 4
Algorithmist
LockedComplete every lesson in the track.
0 / 8
Certificate of completion
Lessons completed: 0 / 8
Complete every lesson to unlock your certificate.