5.1 Structured Programming: Data Types, Operators and Control Structures
Advanced study guide on structured programming, data types, operators, expressions, control flow, modular reasoning and exam-ready tracing.
5.2 Functions, Procedures and Modular Programming
Advanced study guide on functions, procedures, parameters, recursion, scope, stack frames, modularity, cohesion and coupling.
5.3 Object Oriented Programming: Class, Encapsulation, Inheritance and Polymorphism
Advanced study guide on OOP concepts, classes, objects, encapsulation, abstraction, inheritance, polymorphism, binding and design tradeoffs.
5.4 Patterns, Frameworks and Object Composition
Advanced study guide on design patterns, frameworks, composition, dependency inversion, reuse, extensibility and software design tradeoffs.
5.5 ADT, Complexity, Big O, Theta, Best, Average and Worst Case
Advanced study guide on abstract data types, algorithm analysis, asymptotic notation, recurrence basics and best/average/worst-case complexity.
5.6 Linear Data Structures: Stack, Queue and Linked List
Advanced study guide on arrays, stacks, queues, circular queues, priority queues, linked lists, operations, complexity and applications.
5.7 Trees: BST, AVL, Red-Black, Splay and Traversals
Advanced study guide on tree terminology, binary trees, BST operations, traversals, AVL, red-black and splay tree balancing.
5.8 Algorithm Design: Greedy, Divide and Conquer, Dynamic Programming and Recursion
Advanced study guide on algorithm paradigms, recursion, greedy choice, divide and conquer, dynamic programming, recurrence and exam examples.
5.9 Hashing, Graphs, Digraphs and Sorting
Advanced study guide on hashing, collision resolution, graph representation, BFS, DFS, shortest paths, MST and sorting algorithms.