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.
4.2 Von Neumann, Harvard, RISC and CISC
Advanced engineering study guide on Von Neumann and Harvard architectures, stored-program concept, memory bottleneck, RISC, CISC, ISA design and performance tradeoffs.
4.3 Data Representation, Arithmetic, Bus and Instruction Cycle
Advanced engineering study guide on number systems, signed representation, complements, overflow, ALU arithmetic, bus organization and instruction cycle.
4.4 Addressing Modes, I/O, Interrupt, DMA and Memory Systems
Advanced engineering study guide on addressing modes, effective address calculation, I/O techniques, interrupts, DMA, memory hierarchy, cache and virtual memory.