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)