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 (up to 2 dimensions)
    • 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:

  • Advanced array processing
  • 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)