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.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.6 Digital Number Systems, Logic Gates and Combinational Circuits
Advanced engineering guide to digital number systems, Boolean algebra, logic gates, minimization, adders, multiplexers, decoders and combinational circuit design.
4.10 Electronic Communication: Modulation, Error Control, SNR and BER
Advanced engineering guide to analog/digital communication, modulation, multiplexing, noise, SNR, BER, channel capacity and error control coding.
4.9 Semiconductor Diodes, Transistors, Amplifiers and Op-Amp
Advanced engineering guide to semiconductor basics, PN junction diode, rectifiers, BJT/FET, amplifiers, feedback and operational amplifier circuits.