8 modules · 80 lessons · 60-day core + advanced track to day 90

The curriculum

Module 1

OOP via Analogies

days 111

Objects are just nouns with skills. Learn the four pillars through houses, genetics and multi-tools.

m1·1Classes as BlueprintsThe architect's drawingm1·2Objects as HousesBuilt from the drawingm1·3Attributes vs MethodsWhat it has vs what it doesm1·4ConstructorsThe build crew's checklistm1·5EncapsulationWalls and a doorbellm1·6Inheritance as GeneticsChildren of the blueprintm1·7Method OverridingThe child who cooks differentlym1·8Polymorphism as a Multi-toolOne handle, many headsm1·9AbstractionThe steering wheelm1·10Composition over InheritanceLego, not a family tree
Module 2

Data Structures Visualized

days 1222

Every structure is a way of arranging things in a room. Bookshelves, treasure hunts, cafeteria lines, org charts.

m2·1Arrays as BookshelvesNumbered slots in a rowm2·2Dynamic ArraysMoving to a bigger shelfm2·3Linked Lists as Treasure HuntsEach clue points to the nextm2·4Doubly Linked ListsFootprints in both directionsm2·5Stacks as Tray PilesLast tray on, first tray offm2·6Queues as Lunch LinesFirst in line eats firstm2·7Hash Maps as DictionariesStraight to the right pagem2·8CollisionsTwo words on one pagem2·9Trees as Org ChartsOne boss, many reportsm2·10Graphs as Friendship MapsEveryone knows everyone
Module 3

Algorithms in Motion

days 2334

Watch the work happen frame by frame. Compare, swap, split, merge, halve, traverse.

m3·1Bubble SortKids lining up by heightm3·2Selection SortPicking the shortest kid each timem3·3Insertion SortSorting a hand of cardsm3·4Merge SortTwo sorted lines zipped togetherm3·5Quick SortPick a kid, split the roomm3·6Linear SearchChecking every drawerm3·7Binary SearchGuessing a number, halving each timem3·8Breadth-First SearchRipples in a pondm3·9Depth-First SearchOne corridor to the endm3·10RecursionRussian dolls
Module 4

Time & Space Complexity

days 3545

Big O is not maths homework. It is the answer to: what happens when the data gets big?

m4·1What Big O MeasuresCooking for 1 vs 100 guestsm4·2O(1) — ConstantA light switchm4·3O(n) — LinearShaking every handm4·4O(n²) — QuadraticEveryone greets everyonem4·5O(log n) — LogarithmicHalving the phone bookm4·6O(n log n) — The Sorting FloorHandshakes with a planm4·7Comparing the CurvesFour lines on one chartm4·8Space ComplexityCounter space, not cooking timem4·9Amortised AnalysisThe occasional big shopm4·10Choosing the Right ToolThe whole toolbox at once
Module 5

Advanced Data Structures

days 4656

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.

m5·1Heaps & Priority QueuesA triage nurse, not a queuem5·2Heapify & HeapsortBuilding the pile bottom-upm5·3Tries / Prefix TreesA signpost at every letterm5·4Union-Find (Disjoint Set Union)Merging friend groupsm5·5Segment TreesNested summaries of a shelfm5·6Fenwick Tree (BIT)Rulers of clever lengthsm5·7Self-Balancing Trees & RotationsStraightening a leaning towerm5·8Hash Map Internals: Probing & ResizingLooking for the next free seatm5·9Designing an LRU CacheA desk with limited spacem5·10Bloom FiltersA bouncer with a bad memory
Module 6

Graph Algorithms

days 5767

Weights change everything. Shortest paths, spanning trees, orderings and flow — with the reasoning for choosing between them.

m6·1Weighted Graphs & RepresentationsRoads have lengthsm6·2Dijkstra's AlgorithmAlways explore the nearest unvisited townm6·3Bellman-Ford & Negative EdgesRumours spreading one hop per roundm6·4Floyd-Warshall (All-Pairs)Would going via this city help?m6·5Topological SortGetting dressed in a valid orderm6·6Kruskal's MSTCheapest cables firstm6·7Prim's MSTGrow one blob outwardsm6·8A* SearchDijkstra with a compassm6·9Strongly Connected ComponentsNeighbourhoods you can circlem6·10Max Flow & Min CutWater through pipes
Module 7

Algorithmic Patterns

days 6879

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.

m7·1Two PointersTwo hands closing inm7·2Sliding WindowA window sliding along a trainm7·3Prefix Sums & Difference ArraysRunning totals on a receiptm7·4Binary Search on the AnswerGuessing the right shoe sizem7·5BacktrackingExploring a maze with breadcrumbsm7·6Greedy & the Exchange ArgumentAlways grab the nearest deadlinem7·7Divide & ConquerSplit the pile, solve, combinem7·8Bit ManipulationA row of light switchesm7·9String Matching: KMP & Rabin-KarpNever re-read what you already matchedm7·10Intervals & Sweep LineWalking the timeline once
Module 8

Dynamic Programming

days 8090

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.

m8·1Memoisation vs TabulationWriting answers on your handm8·21D DP & State DesignClimbing stairs one decision at a timem8·30/1 KnapsackPacking a bag with a weight limitm8·4Coin Change & Unbounded KnapsackUnlimited coins of each kindm8·5Longest Common SubsequenceWhat two texts still agree onm8·6Edit DistanceCheapest way to retype a wordm8·7Longest Increasing SubsequenceBuilding the most patient stacksm8·8Grid DP & Path CountingOnly ever moving right or downm8·9DP on TreesAsking your children before you answerm8·10Bitmask DP & State CompressionThe whole set as one number