Lesson IDs are Phase.Chapter.Topic. The order is a prerequisite chain. ✅ marks what you have marked as done.
🧭 PHASE 0 — FOUNDATIONS
- Ch 0.1 What a program is
- 0.1.1 Programs and instructions; source code → compiler → executable; the shape of a first C program (main, printf, return)
- 0.1.2 Memory as numbered boxes: bits, bytes, addresses; a variable as a named box
- L0.1 Chapter 0.1 Lock-in Lock-in
- Ch 0.2 Math toolkit
- 0.2.1 Powers of 2 and logarithms; floor and ceiling
- 0.2.2 Sums of series (1+2+…+n, 1+2+4+…+2ⁿ); basic counting
- L0.2 Chapter 0.2 Lock-in Lock-in
- CP0 Phase 0 Checkpoint Checkpoint
💻 PHASE 1 — PROGRAMMING IN C
- Ch 1.1 Data and expressions
- 1.1.1 Data types and their sizes; signed vs unsigned; constants; variables; declaration vs definition
- 1.1.2 Operators: arithmetic, relational, logical with short-circuiting, bitwise, assignment, ++ and --; precedence and associativity; undefined behavior
- 1.1.3 Type conversion: implicit promotion, casting, overflow, char as a small integer; what printf returns
- L1.1 Chapter 1.1 Lock-in Lock-in
- Ch 1.2 Control flow
- 1.2.1 if / else if / else; nested conditions; switch and fall-through
- 1.2.2 for, while, do-while; break and continue; tracing loop output and counting iterations
- L1.2 Chapter 1.2 Lock-in Lock-in
- Ch 1.3 Functions
- 1.3.1 Declaring, defining, calling; parameters; return values; call by value
- 1.3.2 Scope vs lifetime; local, global, static, extern, register; shadowing in blocks; static local variables
- 1.3.3 How calls work: the call stack and stack frames
- L1.3 Chapter 1.3 Lock-in Lock-in
- Ch 1.4 Pointers
- 1.4.1 & and *; pointer declaration; NULL; pointer to pointer
- 1.4.2 Simulating call by reference with pointers (swap)
- 1.4.3 Pointer arithmetic and why it scales by type size
- L1.4 Chapter 1.4 Lock-in Lock-in
- Ch 1.5 Arrays and strings in C
- 1.5.1 1-D arrays; a[i] == *(a+i) == i[a]; arrays decaying to pointers; passing arrays to functions; the sizeof trap
- 1.5.2 2-D arrays; row-major layout; pointer to array vs array of pointers; reading complex declarations
- 1.5.3 Strings: char arrays, '\0', read-only string literals, strlen vs sizeof, string functions and tracing string code
- L1.5 Chapter 1.5 Lock-in Lock-in
- Ch 1.6 Structures, unions, typedef
- 1.6 Structures, unions, typedef; self-referential structures; structure size and padding
- L1.6 Chapter 1.6 Lock-in Lock-in
- Ch 1.7 Dynamic memory
- 1.7 Dynamic memory: malloc, calloc, realloc, free; stack vs heap; dangling pointers, memory leaks, double free
- L1.7 Chapter 1.7 Lock-in Lock-in
- Ch 1.8 Preprocessor and function pointers
- 1.8 Preprocessor macros and their expansion traps; function pointers
- L1.8 Chapter 1.8 Lock-in Lock-in
- CP1 Phase 1 Checkpoint Checkpoint
🔁 PHASE 2 — RECURSION
- Ch 2.1 Recursion
- 2.1.1 Base case and recursive case; tracing calls on the stack
- 2.1.2 Recursion trees; counting calls; work done before vs after the recursive call
- 2.1.3 Classic patterns: factorial, Fibonacci, GCD, power, Tower of Hanoi (2ⁿ−1 moves), digit/array recursion
- 2.1.4 Computing what a recursive function returns via its recurrence; static and global variables inside recursion
- L2.1 Chapter 2.1 Lock-in Lock-in
- Ch 2.2 Counting work: a Big-O primer
- 2.2 Counting work: a Big-O primer
- L2.2 Chapter 2.2 Lock-in Lock-in
- CP2 Phase 2 Checkpoint Checkpoint
📚 PHASE 3 — LINEAR DATA STRUCTURES
- Ch 3.1 Arrays as a data structure
- 3.1 Arrays as a data structure: the ADT idea; address calculation (row-major, column-major, non-zero lower bounds); cost of insert, delete and search
- L3.1 Chapter 3.1 Lock-in Lock-in
- Ch 3.2 Stacks
- 3.2.1 Stack ADT; push/pop/peek; array implementation; overflow and underflow
- 3.2.2 Stack applications: parenthesis matching; infix → postfix/prefix conversion; postfix evaluation
- 3.2.3 Valid stack permutations; Catalan numbers
- L3.2 Chapter 3.2 Lock-in Lock-in
- Ch 3.3 Queues
- 3.3.1 Queue ADT; linear array queue and its wasted-space problem
- 3.3.2 Circular queue: full/empty conditions and index arithmetic
- 3.3.3 Deque; priority queue as a concept; queue from two stacks and stack from two queues (operation costs)
- L3.3 Chapter 3.3 Lock-in Lock-in
- Ch 3.4 Linked lists
- 3.4.1 Singly linked list: node, head, traversal, search, insertion (head/tail/middle), deletion
- 3.4.2 Reversing a list (iterative and recursive); finding the middle; detecting a cycle (fast/slow pointers)
- 3.4.3 Doubly and circular linked lists; operation costs compared with arrays
- 3.4.4 Stack and queue built on linked lists
- 3.4.5 GATE drill: tracing pointer-manipulation code on linked lists
- L3.4 Chapter 3.4 Lock-in Lock-in
- CP3 Phase 3 Checkpoint Checkpoint
🌳 PHASE 4 — TREES & BINARY SEARCH TREES
- Ch 4.1 Tree vocabulary
- 4.1 Tree vocabulary: root, parent, child, sibling, leaf, internal node, degree, level, depth, height; the edges-vs-nodes convention
- L4.1 Chapter 4.1 Lock-in Lock-in
- Ch 4.2 Binary trees
- 4.2.1 Strict/full, complete and perfect binary trees
- 4.2.2 Binary tree properties: nodes per level and height; n₀ = n₂ + 1; minimum and maximum height
- 4.2.3 Representations: linked nodes vs array indexing (both 0-based and 1-based formulas)
- L4.2 Chapter 4.2 Lock-in Lock-in
- Ch 4.3 Traversals
- 4.3.1 Preorder, inorder, postorder (recursive code and hand tracing)
- 4.3.2 Level-order traversal using a queue
- 4.3.3 Rebuilding a tree from two traversals; counting distinct binary trees (Catalan)
- L4.3 Chapter 4.3 Lock-in Lock-in
- Ch 4.4 Recursive code on trees
- 4.4 Recursive code on trees: count nodes, leaves, height, mirror, sums; expression trees
- L4.4 Chapter 4.4 Lock-in Lock-in
- Ch 4.5 Binary search trees
- 4.5.1 The BST property; search, minimum, maximum; inorder gives sorted order
- 4.5.2 BST insertion; building a BST from an insertion sequence; best- vs worst-case height
- 4.5.3 BST deletion: leaf, one child, two children (inorder successor or predecessor)
- 4.5.4 BST GATE drills: BST from a preorder/postorder sequence; number of BSTs; valid search paths; insertion orders giving the same BST
- L4.5 Chapter 4.5 Lock-in Lock-in
- Ch 4.6 Balanced BSTs (AVL)
- 4.6 Balanced BSTs — AVL idea, balance factor, rotations, minimum nodes for a given height
- L4.6 Chapter 4.6 Lock-in Lock-in
- CP4 Phase 4 Checkpoint Checkpoint
⛰️ PHASE 5 — BINARY HEAPS
- Ch 5.1 The heap idea
- 5.1 The heap idea: a complete binary tree in an array; max-heap and min-heap
- L5.1 Chapter 5.1 Lock-in Lock-in
- Ch 5.2 Insertion and deletion
- 5.2 Heap insertion (sift-up) and deleting the root (sift-down)
- L5.2 Chapter 5.2 Lock-in Lock-in
- Ch 5.3 Build-heap and heap sort
- 5.3 Build-heap in O(n) vs n insertions; heap sort
- L5.3 Chapter 5.3 Lock-in Lock-in
- Ch 5.4 Heap GATE drills
- 5.4 Heap GATE drills: k-th largest, number of heaps, comparisons, d-ary heaps
- L5.4 Chapter 5.4 Lock-in Lock-in
- CP5 Phase 5 Checkpoint Checkpoint
🕸️ PHASE 6 — GRAPHS
- Ch 6.1 Graph vocabulary
- 6.1 Graph vocabulary
- L6.1 Chapter 6.1 Lock-in Lock-in
- Ch 6.2 Representations
- 6.2 Graph representations: adjacency matrix, adjacency list, incidence matrix
- L6.2 Chapter 6.2 Lock-in Lock-in
- Ch 6.3 Traversals
- 6.3 Graph traversals: BFS, DFS, connected components
- L6.3 Chapter 6.3 Lock-in Lock-in
- CP6 Phase 6 Checkpoint Checkpoint
🏁 PHASE 7 — INTEGRATION & FINAL TEST
- Ch 7.1 Master Rule Sheet
- 7.1 Master Rule Sheet
- Ch 7.2 Mixed practice
- 7.2.1 Mixed practice set 1
- 7.2.2 Mixed practice set 2
- 7.2.3 Mixed practice set 3
- Ch 7.3 GATE pattern drill
- 7.3 GATE pattern drill
- Ch 7.4 Final test
- 7.4 Final end-to-end test Final test
Phases
🧭
Phase 0 · Foundations
4 lessons · 2 lock-ins · checkpoint
💻
Phase 1 · Programming in C
17 lessons · 8 lock-ins · checkpoint
🔁
Phase 2 · Recursion
5 lessons · 2 lock-ins · checkpoint
📚
Phase 3 · Linear Data Structures
12 lessons · 4 lock-ins · checkpoint
🌳
Phase 4 · Trees & Binary Search Trees
13 lessons · 6 lock-ins · checkpoint
⛰️
Phase 5 · Binary Heaps
4 lessons · 4 lock-ins · checkpoint
🕸️
Phase 6 · Graphs
3 lessons · 3 lock-ins · checkpoint
🏁
Phase 7 · Integration & Final Test
0 lessons · 0 lock-ins