Module 0 Β· days 1β90%
Programming Foundations
The alphabet before the poetry: variables, types, decisions, loops and functions β everything the rest of the course quietly assumes you know.
Module 1 Β· days 10β200%
π OOP via Analogies
Objects are just nouns with skills. Learn the four pillars through houses, genetics and multi-tools.
β‘ 1. Classes as Blueprintsβ‘ 2. Objects as Housesβ‘ 3. Attributes vs Methodsβ‘ 4. Constructorsβ‘ 5. Encapsulationβ‘ 6. Inheritance as Geneticsβ‘ 7. Method Overridingβ‘ 8. Polymorphism as a Multi-toolβ‘ 9. Abstractionβ‘ 10. Composition over Inheritance
Module 2 Β· days 21β310%
π Data Structures Visualized
Every structure is a way of arranging things in a room. Bookshelves, treasure hunts, cafeteria lines, org charts.
β‘ 1. Arrays as Bookshelvesβ‘ 2. Dynamic Arraysβ‘ 3. Linked Lists as Treasure Huntsβ‘ 4. Doubly Linked Listsβ‘ 5. Stacks as Tray Pilesβ‘ 6. Queues as Lunch Linesβ‘ 7. Hash Maps as Dictionariesβ‘ 8. Collisionsβ‘ 9. Trees as Org Chartsβ‘ 10. Graphs as Friendship Maps
Module 3 Β· days 32β430%
π Algorithms in Motion
Watch the work happen frame by frame. Compare, swap, split, merge, halve, traverse.
β‘ 1. Linear Searchβ‘ 2. Binary Searchβ‘ 3. Bubble Sortβ‘ 4. Selection Sortβ‘ 5. Insertion Sortβ‘ 6. Recursionβ‘ 7. Merge Sortβ‘ 8. Quick Sortβ‘ 9. Breadth-First Searchβ‘ 10. Depth-First Search
Module 4 Β· days 44β540%
π Time & Space Complexity
Big O is not maths homework. It is the answer to: what happens when the data gets big?
β‘ 1. What Big O Measuresβ‘ 2. O(1) β Constantβ‘ 3. O(n) β Linearβ‘ 4. O(nΒ²) β Quadraticβ‘ 5. O(log n) β Logarithmicβ‘ 6. O(n log n) β The Sorting Floorβ‘ 7. Comparing the Curvesβ‘ 8. Space Complexityβ‘ 9. Amortised Analysisβ‘ 10. Choosing the Right Tool
Module 5 Β· days 55β650%
π Advanced Data Structures
The structures that separate a working solution from a fast one: heaps, tries, disjoint sets, segment trees, and the internals of the map you use every day.
β‘ 1. Heaps & Priority Queuesβ‘ 2. Heapify & Heapsortβ‘ 3. Tries / Prefix Treesβ‘ 4. Union-Find (Disjoint Set Union)β‘ 5. Segment Treesβ‘ 6. Fenwick Tree (BIT)β‘ 7. Self-Balancing Trees & Rotationsβ‘ 8. Hash Map Internals: Probing & Resizingβ‘ 9. Designing an LRU Cacheβ‘ 10. Bloom Filters
Module 6 Β· days 66β760%
π Graph Algorithms
Weights change everything. Shortest paths, spanning trees, orderings and flow β with the reasoning for choosing between them.
β‘ 1. Weighted Graphs & Representationsβ‘ 2. Dijkstra's Algorithmβ‘ 3. Bellman-Ford & Negative Edgesβ‘ 4. Floyd-Warshall (All-Pairs)β‘ 5. Topological Sortβ‘ 6. Kruskal's MSTβ‘ 7. Prim's MSTβ‘ 8. A* Searchβ‘ 9. Strongly Connected Componentsβ‘ 10. Max Flow & Min Cut
Module 7 Β· days 77β880%
π Algorithmic Patterns
The reusable shapes. Once you can name the pattern, most problems stop being novel β this is the module that changes how you read a problem statement.
β‘ 1. Two Pointersβ‘ 2. Sliding Windowβ‘ 3. Prefix Sums & Difference Arraysβ‘ 4. Binary Search on the Answerβ‘ 5. Backtrackingβ‘ 6. Greedy & the Exchange Argumentβ‘ 7. Divide & Conquerβ‘ 8. Bit Manipulationβ‘ 9. String Matching: KMP & Rabin-Karpβ‘ 10. Intervals & Sweep Line
Module 8 Β· days 89β990%
π Dynamic Programming
The module that breaks people, taught as state design rather than magic recurrences. If you can name the state and the transition, you can write the code.
β‘ 1. Memoisation vs Tabulationβ‘ 2. 1D DP & State Designβ‘ 3. 0/1 Knapsackβ‘ 4. Coin Change & Unbounded Knapsackβ‘ 5. Longest Common Subsequenceβ‘ 6. Edit Distanceβ‘ 7. Longest Increasing Subsequenceβ‘ 8. Grid DP & Path Countingβ‘ 9. DP on Treesβ‘ 10. Bitmask DP & State Compression