Course Syllabus
Month 1 — Foundations that Stick
Week 1: Programming Basics & Mindset
- Variables, data types, I/O; functions; debugging; CLI basics; Git/GitHub.
- Big-O intuition; benchmarking simple loops.
- Lab: Build a “Time-It” utility to compare naive vs optimized loops.
Week 2: Control Flow & Core Patterns
- Loops, conditionals, recursion vs iteration; call stack.
- Pattern: Two-Pointers, Sliding Window (intro).
- Lab: Subarray sums, longest unique substring (string/window practice).
Week 3: Data Structures 1 — Arrays & Strings
- One-D, Two-D arrays, matrix traversal; string manipulation; hashing basics.
- Lab: Matrix spiral, frequency counter via hash map; Micro-project: CSV cleaner (CLI).
Week 4: Data Structures 2 — Linked Lists & Complexity
- Singly, doubly, circular lists; fast/slow pointers; in-place reversals.
- Lab: Reverse in k-groups, detect cycle; Quiz 1.
Month 2 — Classic Structures & Searching
Week 5: Stacks & Queues
- Stack ADT & applications (parentheses, expression eval), Queue & Deque, circular queues.
- Lab: Min-stack, sliding window maximum with deque; Micro-project: Undo/Redo engine.
Week 6: Trees 1 — Binary Trees & BSTs
- Tree traversal (DFS: preorder/inorder/postorder), BFS (level order), BST ops.
- Lab: Height, diameter, LCA (recursive & iterative).
Week 7: Trees 2 — Balanced Trees & Heaps
- AVL basics, heap (min/max), priority queue use-cases.
- Lab: k-largest/merge k-sorted lists; Micro-project: Task scheduler using heap.
Week 8: Graphs 1 — Representations & Traversals
- Adjacency list/matrix; DFS/BFS; connected components; topological sort.
- Lab: Course scheduling (DAG), cycle detection; Quiz 2.
Month 3 — Algorithms that Pay Off
Week 9: Graphs 2 — Shortest Paths & MST
- Dijkstra, BFS on unweighted graphs, Bellman-Ford (overview); MST (Kruskal/Prim).
- Lab: City bus route finder (shortest path), network clustering (MST).
Week 10: Searching & Sorting Deep Dive
- Linear vs Binary Search; boundary finding; custom comparators.
- Bubble/Selection/Insertion (for insight), Merge/Quick/Heap Sort (for practice).
- Lab: Sort visualizer; Micro-project: Log sorter for SMEs.
Week 11: Greedy & Divide-and-Conquer
- Activity selection, interval scheduling, Huffman coding idea.
- Divide-and-Conquer patterns; Master Theorem (intuition).
- Lab: Meeting rooms, min platform problem; closest pair (outline).
Week 12: Recursion & Dynamic Programming
- Overlapping subproblems, memoization vs tabulation; 1-D, 2-D DP.
- Lab: Knapsack, coin change, LIS; Quiz 3.
Month 4 — From Patterns to Products
Week 13: Advanced Hashing & Practical Optimizations
- Collision handling, custom hash; sets/maps; amortized analysis.
- Lab: UPI-like transaction deduplicator (hash set/map).
Week 14: Problem Solving Playbook
- Pattern catalog: prefix sums, difference arrays, binary search on answer, bit tricks.
- Lab: Allocate books/paint fence (binary search on answer), bitmask DP (intro).
Week 15: Capstone Build Sprint
- Pick one domain problem; design → implement → test → profile → README.
- Examples:
- Smart Ration Queue Manager (queues + heap)
- Local Delivery Route Optimizer (graphs + Dijkstra)
- Crop-Yield Planner (DP)
- Metro Shortest Path CLI for nearest stations (graphs)