UK British Algorithmic Olympiad

British Algorithmic Olympiad Course

A two-part BAO preparation route for ambitious students: maths training for precise Olympiad reasoning, plus coding training for implementing BAO-style rules, recurrences and small state-space searches.

Math Training and Coding Training

BAO questions often require both mathematical reasoning and careful implementation. Students can use one track or combine both depending on their current strengths.

BAO Math Training

For students who need stronger mathematical maturity before tackling full BAO problems. The focus is precise notation, sequences, counting, proof, recurrence and multi-part Olympiad reasoning.

  • Read formal notation, domains, ranges, sets and functions accurately
  • Recognise arithmetic, geometric and recursive patterns
  • Use counting principles, inclusion-exclusion and proof techniques
  • Apply maths topics to longer BAO-style questions

BAO Coding Training

For students who can code but need BAO-specific implementation practice. The focus is translating rules into Python, implementing recurrences, using light DP and searching small state spaces.

  • Translate BAO problem rules into accurate code
  • Implement recurrence relations with loops or recursion where appropriate
  • Use prefix sums, running totals and light memoisation
  • Use light DP and BFS for small transformation or minimum-turn problems
Timetable Coming SoonTake Coding Entry Test

BAO Math Training Syllabus

The maths track bridges school maths and algorithmic Olympiad reasoning. Students learn to read precise questions, choose efficient methods and justify results.

Mathematical Language

Sets, number sets, set-builder notation, union, intersection, functions, domains, ranges and input-output rules.

NotationSetsFunctions

Geometry and Measurement

Coordinates, distance, straight lines, gradients, intersections, radians, arcs, sectors and motion around a circle.

CoordinatesLinesRadians

Sequences and Recurrence

Arithmetic sequences, geometric sequences, finite sums, recurrence relations, closed forms and repeated-process reasoning.

SequencesRecurrenceClosed Forms

Counting and Combinatorics

Multiplication principle, factorials, permutations, over-counting, inclusion-exclusion, at least one, neither and exactly one.

CountingFactorialsInclusion-Exclusion

Proof and Explanation

Deduction, counterexamples, proof by exhaustion and contradiction, with attention to why an answer is true.

ProofCounterexamplesReasoning

Full BAO Problem Practice

Multi-part BAO-style questions that combine notation, sequences, counting, proof, geometry and recurrence ideas.

BAO PracticeMark SchemesMulti-Part Problems

BAO Coding Training Syllabus

The coding track focuses on implementation patterns that appear in BAO-style problems, where mathematical structure and accurate rule translation matter more than generic contest speed.

Simulation and Rule-Based Implementation

Translate BAO problem rules into accurate Python code, with careful handling of cases, states and outputs.

SimulationRulesPython

Recurrence Implementation

Implement sequences and recurrence relations using loops or recursion where appropriate.

RecurrenceLoopsRecursion

Light DP and Memoisation

Store previous results or visited states to avoid repeated work. This is light DP for BAO-style reasoning, not advanced contest DP.

Light DPMemoisationStates

Prefix Sum and Running Totals

Use cumulative totals to solve repeated-sum or range-style problems efficiently.

Prefix SumRunning TotalsEfficiency

BFS for Small State Spaces

Use queue-based search to find minimum steps or minimum turns in small transformation problems.

BFSQueueMinimum Steps

Combining Maths and Coding

Learn how BAO problems connect mathematical structure with implementation, including when to use light DP, memoisation or BFS instead of brute force.

Maths + CodingLight DPBFS

How BAO Differs from Other Competitions

BAO preparation is related to competition coding, but the balance is different. Students need to understand the maths behind the implementation.

Compared with Perse

Perse-style preparation often rewards accessible puzzle solving and coding confidence. BAO usually asks for more formal reasoning and multi-step mathematical structure.

Compared with BIO

BIO-style coding can emphasise implementation and algorithmic problem solving. BAO adds a stronger maths layer: proof, recurrence, counting and precise interpretation.

Compared with USACO

USACO training often moves into broader data structures and performance-heavy algorithms. BAO training stays closer to mathematical reasoning plus careful coding.

Questions Parents Ask

Clear answers for families deciding whether this route fits their child's current coding level, goals and schedule.

Who is the British Algorithmic Olympiad course for?

It is for students who already have some school maths and coding confidence, and who want to prepare for BAO-style problems that combine mathematical reasoning with implementation.

What is the difference between BAO Math Training and BAO Coding Training?

BAO Math Training builds the reasoning base: notation, sequences, counting, proof, recurrence and geometry. BAO Coding Training turns those ideas into Python programs using simulation, recurrence implementation, prefix sums, light memoisation and BFS.

Is the coding track advanced dynamic programming?

No. The BAO coding track describes this as light DP and memoisation. Students learn to store previous results or visited states where useful, but the focus is BAO-style reasoning rather than advanced DP-heavy contest training.

More parent questions2 more
Does BAO preparation require strong maths?

Students should have a reasonable school-maths foundation. The maths training is designed to build the maturity needed for BAO-style notation, recurrence, counting, proof and multi-part problem solving.

How is BAO different from Perse, BIO or USACO?

BAO sits between maths reasoning and coding implementation. Perse can be more puzzle-accessible, BIO often emphasises coding implementation, and USACO often moves into broader algorithm performance. BAO needs students to connect formal maths with accurate code.

Ready to Prepare for BAO?

Start with the BAO entry test if the student wants the coding track, then decide whether they need maths training, coding training, or a combined plan.

Take Coding Entry Test
Email us for course adviceservices@code-ai.co.uk