Computer Engineering Division: Architecture, Data Structures, and Networks
Core concepts to master
Questions usually test computer organisation (CPU datapath, pipelining, cache hierarchy, memory addressing), data structures and algorithms (complexity, trees, hashing, sorting), operating systems (processes, scheduling, deadlock, virtual memory), and networking (OSI and TCP/IP layering, addressing, subnetting, routing). A candidate should be able to compute cache hit ratios, trace a sorting algorithm, and perform subnet calculations without a calculator.
Traps that appear in questions
- Confusing average and worst-case complexity: quicksort is O(n log n) average but O(n²) worst case.
- Forgetting that a binary search requires sorted input; applying it to unsorted data is invalid.
- Subnetting errors: a /26 mask gives 64 addresses, 62 usable - always subtract network and broadcast.
- Mixing paging and segmentation: paging removes external fragmentation but can create internal fragmentation.
- Assuming pipelining reduces latency of a single instruction; it improves throughput, not single-instruction latency.
Worked example
A cache has 32 blocks, direct-mapped, block size 16 bytes. A byte address 0x2A5: block number = address ÷ block size = 677 ÷ 16 = 42, so cache line = 42 mod 32 = 10. Rule of thumb: for direct-mapped caches, line = (address ÷ block size) mod number of lines, and the tag is the remaining high-order bits. For subnetting, memorise mask values: /24 = 255.255.255.0, /25 = .128, /26 = .192, /27 = .224, /28 = .240.