0% found this document useful (0 votes)
86 views11 pages

Week 1: Programming Fundamentals: Session 1: Basics & Conditionals

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views11 pages

Week 1: Programming Fundamentals: Session 1: Basics & Conditionals

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Week 1: Programming Fundamentals

Session 1: Basics & Conditionals

●​ Data types, variables, input/output​

●​ Operators and expressions​

●​ if-else, nested if-else, switch-case​

●​ Flowcharts and logic building​

Session 2: Loops & Pattern Printing

●​ For, while, do-while loops​

●​ Nested loops​

●​ Pattern-based problems​

●​ Loop-based complexity​

Session 3: Functions & Method Concepts

●​ Function declaration, parameters, return types​

●​ Call by value/reference​

●​ Method scope and recursion intro​

Session 4: Time Complexity & Flowcharts

●​ Big O Notation​

●​ Time complexity of common code patterns​

●​ Analyzing loop + nested structures​

●​ Intro to dry run strategies​

Session 5: Introduction to Recursion


●​ Recursive calls & call stack​

●​ Base and recursive case​

●​ Simple problems: factorial, power​

●​ Recursion tracing​

Week 2: Arrays, Strings & Sorting

Session 6: 1D Arrays – Operations & Applications

●​ Declaration and initialization​

●​ Traversal, insertion, deletion​

●​ Max/min, prefix sum, reversal​

Session 7: 2D Arrays – Traversal & Matrix Operations

●​ Row/column/diagonal traversal​

●​ Transpose and rotation​

●​ Spiral matrix and boundary traversal​

Session 8: Time and Space Complexity Analysis

●​ Best/worst/average case​

●​ Space vs time trade-offs​

●​ Practical analysis on loops and recursion​

Session 9: String Manipulation & Problem Solving

●​ String creation and operations​

●​ Palindrome and anagram check​


●​ String reversal, substring extraction​

Session 10: Sorting – Bubble, Selection & Insertion

●​ Dry run examples​

●​ Time complexities​

●​ When and why to use each​

Week 3: Binary Search & Recursion

Session 11: Fundamentals of Binary Search

●​ Mid-point logic, base condition​

●​ Binary Search on sorted arrays​

Session 12: Applications of Binary Search

●​ First/last occurrence​

●​ Count of occurrences​

●​ Search in rotated array​

Session 13: Recursive Patterns – Fibonacci, Power, Factorial

●​ Top-down recursion​

●​ Stack depth​

●​ Multiple return calls​

Session 14: Recursion with Subsets and Permutations

●​ Generating subsets​
●​ All permutations​

●​ Bitmasking intro​

Session 15: Backtracking Intro

●​ Decision trees​

●​ Pruning invalid paths​

●​ N-Queens problem​

Week 4: Sorting, OOPs & Linked Lists

Session 16: Merge Sort – Divide and Conquer

●​ Splitting arrays​

●​ Merge step​

●​ Merge sort with recursion​

Session 17: Quick Sort – Partition and Optimization

●​ Lomuto/Hoare partition​

●​ Worst vs best case​

●​ In-place sorting​

Session 18: OOPs Concepts – Classes & Inheritance

●​ Class/object basics​

●​ Inheritance types​

●​ Access modifiers​

Session 19: OOPs Concepts – Abstraction & Interfaces


●​ Abstraction vs encapsulation​

●​ Abstract classes and interfaces​

●​ Constructor overloading​

Session 20: Linked List – Basics & Implementations

●​ Singly linked list​

●​ Insert/delete operations​

●​ Traversal techniques​

Week 5: Stacks, Queues & Hashing

Session 21: Stack Data Structure – Operations & Use Cases

●​ Push/pop/peek​

●​ Stack using arrays​

●​ Expression validation​

Session 22: Stack Interview Problems

●​ Next greater element​

●​ Stock span​

●​ Valid parentheses​

Session 23: Queue Variants & Implementations

●​ Queue operations​

●​ Circular queue​

●​ Queue using stacks​


Session 24: Queue-Based Interview Problems

●​ First non-repeating character​

●​ Sliding window maximum​

●​ Rotten oranges (BFS)​

Session 25: HashMaps & HashSets in Depth

●​ Hash function and collision​

●​ Frequency maps​

●​ Two-sum, union/intersection​

Week 6: Trees & Binary Search Trees

Session 26: Binary Trees – Structure & Traversals

●​ Preorder/inorder/postorder​

●​ Recursive/iterative traversal​

●​ Height/depth​

Session 27: Tree Views – Level, Vertical, Zigzag

●​ Level order (BFS)​

●​ Left/right/top/bottom view​

●​ Diagonal and zigzag traversal​

Session 28: Binary Search Trees – Insert, Delete, Search

●​ Insert/search/delete logic​

●​ Validate BST​
●​ Min/max in BST​

Session 29: Tree Problems – LCA, Diameter, Mirror Tree

●​ Lowest Common Ancestor​

●​ Diameter and height​

●​ Mirror and symmetric trees​

Session 30: Tree Practice – Recursive Techniques

●​ Practice problems​

●​ Space optimization with Morris traversal​

●​ Tree-to-DLL conversion​

Week 7: Heaps, Prefix Sum, Sliding Window, Primes

Session 31: Heaps – Min/Max & Priority Queues

●​ Heapify, insert/delete​

●​ Heap sort​

●​ Priority queue applications​

Session 32: Prefix Sum Techniques

●​ Prefix sums in arrays​

●​ Difference arrays​

●​ Range sum queries​

Session 33: Sliding Window – Fixed & Dynamic Windows


●​ Max sum subarray​

●​ Longest substring with K distinct chars​

●​ Sliding window in strings​

Session 34: Prime Numbers – Efficient Computation

●​ √N primality test​

●​ Prime factorization​

●​ Prime count up to N​

Session 35: Sieve of Eratosthenes & Number Theory

●​ Classic and segmented sieve​

●​ Prime ranges​

●​ Modulo arithmetic basics​

Week 8: Binary Search II, Backtracking & Greedy

Session 36: Advanced Binary Search Techniques

●​ Search in infinite array​

●​ Binary search on answer problems​

●​ Lower_bound and upper_bound​

Session 37: Backtracking Problems – N-Queens, Maze, Sudoku

●​ State space tree​

●​ Constraint-based pruning​

●​ Sudoku solver​
Session 38: Greedy Algorithms – Activity Selection & Knapsack

●​ Activity selection​

●​ Fractional knapsack​

●​ Sorting-based decisions​

Session 39: Greedy Algorithms – Job Scheduling & Gas Station

●​ Job sequencing​

●​ Gas refill problem​

●​ Sorting + greedy merges​

Session 40: Greedy Applications – Minimum Platforms, Intervals

●​ Overlapping intervals​

●​ Huffman encoding​

●​ Interval covering problems​

Week 9: Dynamic Programming

Session 41: DP Foundations – Memoization & Tabulation

●​ Top-down vs bottom-up​

●​ State definition and recurrence​

●​ Fibonacci, climbing stairs​

Session 42: Classic Problems – Knapsack, Subset Sum

●​ 0/1 Knapsack​

●​ Subset sum​
●​ Count subsets with given sum​

Session 43: Coin Change & Minimum Ways

●​ Coin combinations​

●​ Minimum coins​

●​ Unbounded knapsack​

Session 44: LIS, LCS & Matrix-Based DP

●​ Longest Increasing Subsequence​

●​ Longest Common Subsequence​

●​ DP in grids/matrices​

Session 45: DP Patterns for Interview Success

●​ Choice diagrams​

●​ Space optimization​

●​ Practice mix problems​

Week 10: Graphs & Tries

Session 46: Graph Theory – Representation & Traversal

●​ Adjacency list/matrix​

●​ BFS and DFS​

●​ Graph input patterns​

Session 47: Graph Problems – Cycle Detection & Components


●​ Detect cycle in undirected/directed​

●​ Connected components​

●​ DFS forest​

Session 48: Shortest Paths & Topological Sort

●​ Dijkstra’s algorithm​

●​ Topological sort (Kahn's + DFS)​

●​ Shortest path in DAG​

Session 49: Tries – Insert, Search, Delete

●​ Trie implementation​

●​ Insert/search/delete operations​

●​ Use in dictionary apps​

Session 50: Tries Practice – Autocomplete & Word Dictionary

●​ Autocomplete system​

●​ Longest common prefix​

●​ Word break and wildcard matching

You might also like