BCS Written ICT study materials
BCS Written ICT study resources

BCS Written ICT: Programming, Algorithms and Data Structures

BCS Written ICT · Work through your exam, one topic at a time.

All guide sections

Programming, Algorithms and Data Structures

Core concepts

Know programming fundamentals: variables, data types, operators, control structures (sequence, selection, iteration), functions, parameter passing (value vs reference), recursion, and scope. Understand data structures - arrays, linked lists (singly, doubly), stacks (LIFO), queues (FIFO), trees (binary search tree, traversal orders), graphs, and hash tables - with their time complexities. Learn algorithm design: searching (linear, binary), sorting (bubble, selection, insertion, merge, quick), and complexity analysis (Big-O of best, average, worst cases). Grasp divide-and-conquer, greedy, and dynamic programming at a conceptual level.

Traps to watch

Binary search requires a sorted array and runs in O(log n). Merge sort is O(n log n) in all cases but uses extra space; quick sort averages O(n log n) but worst case O(n²). Stack overflow from infinite recursion is a runtime error, not syntax. Value passing copies the argument; reference passing lets the function modify the caller's variable. Preorder = root-left-right; inorder of a BST gives sorted order. Big-O describes growth, not exact time.

Worked example / rule of thumb

Trace a stack: push 3, push 7, pop → 7, push 1, pop → 1, pop → 3. Rule of thumb: for n=1000, O(n²) is about a million operations while O(n log n) is about 10,000 - a huge difference; always state the worst case unless asked otherwise.