Note: This syllabus serves as a guide only. If deemed appropriate, questions may involve contents that are out of scope.
Junior Group
- Computer literacy / General STEM knowledge
 - Mathematics
- Euclidean distance (Pythagoras’ theorem)
 - Discrete mathematics (primes, permutation and combination, modular arithmetic)
 
 - Boolean algebra
 - Variables, statements, expressions, and functions
 - Basic data types (integer, floating points, boolean, character, string)
 - Control structures
- Conditional (if-then-else, switch-case)
 - Iteration (for-loop, while-loop, do-while loop)
 
 - String processing
 - Array and array processing
- Linear search
 - Binary search
 - Comparison-based sorting (bubble, selection, insertion)
 - Quicksort, Merge Sort
 - Counting sort
 
 - Errors and debugging
 - Concepts and applications of data structures (stack, queue and linked list)
- Built-in libraries of the relevant data structures
 
 
Senior Group
Contents of Junior Group, plus:
- Implementation of data structures (stack, queue and linked list)
 - Recursion
 - Exhaustion and optimization
 - Divide and conquer
 - Graph theory (vertices, edges, tree)
 - Depth-first search
 - Algorithm analysis (time and memory complexity)