Dominis
NewCommunity SessionsJoin NowFreeMock TestsFreeTrial SessionsFreePractice ResourcesFreeSaturday Learning SessionsFreeParent Guidance SessionsJoin NowFreeStudy ResourcesFreePast PapersFreeBook Library
All Olympiad Guides
Olympiads & Competitions Guide & Resources

Computing & Informatics Olympiad Guide

A Student & Parent Guide to the British Informatics Olympiad, Programming Problem-Solving, Algorithms and Effective Preparation

The British Informatics Olympiad (BIO) is the UK's national computing competition for schools and colleges. Unlike ordinary Computer Science examinations, the competition focuses heavily on programming, algorithmic thinking and solving unfamiliar computational problems against the clock.

Students do not simply need to know how to write code. They need to determine what the problem is really asking, how to represent it computationally, which algorithm could solve it, whether the solution works for every valid input and whether the program is efficient enough.

A strong preparation pathway therefore looks like: Programming Foundations → Computational Thinking → Algorithms → Data Structures → Problem Solving → Testing → Optimisation → Timed Competition Practice.

The most recently published BIO rules are for BIO 2026. The competition was open to eligible students under 19 in full-time secondary or further, but not higher, education in mainland Britain. The first round consisted of a three-hour paper with three programming problems, supplemented by written questions.

Quick Guide to Computing & Informatics Olympiads

Main UK competition
British Informatics Olympiad
Common abbreviation
BIO
Core focus
Programming and computational problem solving
Typical skills
Algorithms, logic, data structures, efficiency and debugging
2026 first round
3 hours
2026 questions
3 main problems
First-round programming language
Any language
Do students need Computer Science at school?
No
2026 final
Churchill College, Cambridge
2026 finalists
Best 15 first-round competitors, plus additional EGOI candidates
International pathway
International Olympiad in Informatics (IOI)
International team
Four students selected for Britain
Other pathways
EGOI and WEOI selection also takes place
Best preparation
Programming + algorithms + repeated problem solving

01What Is Informatics?

Informatics competitions focus on solving problems through

  • Algorithms
  • Programming
  • Logic
  • Mathematics
  • Computational Thinking
  • Efficient Problem Solving

In this context, informatics is not simply learning how computers work. Students are asked to take a problem and convert it into a computational solution.

A useful model is: Problem → Model → Algorithm → Code → Test → Optimise.

02What Is the British Informatics Olympiad?

The British Informatics Olympiad is a national programming competition for school and college students.

Founded in 1995, BIO was established to encourage students to take an active interest in computing through challenging programming problems.

Students solve problems under competition conditions using

  • A Computer
  • Programming
  • Logical Reasoning
  • Written Problem Solving

03Is BIO Just a Coding Competition?

No. Knowing programming syntax is necessary, but it is only one part of successful competition performance.

Students also need to

  • Understand Problems Precisely
  • Design Algorithms
  • Recognise Patterns
  • Handle Edge Cases
  • Estimate Efficiency
  • Debug
  • Test Solutions
  • Reason About Correctness

A student who knows hundreds of programming commands may still struggle if they cannot design an effective algorithm.

04Who Can Enter the British Informatics Olympiad?

Under the 2026 BIO rules, entrants had to be: Under 19 years old, Studying full-time, At a secondary or further-education institution rather than higher education, Based in mainland Britain.

Entries were coordinated through a member of staff at the student's school or college. Eligibility should always be checked against the rules for the current competition year.

05Do Students Need to Study GCSE or A Level Computer Science?

No. BIO states explicitly that students do not need to be studying Computer Science to participate.

Some strong previous competitors have developed their programming skills independently. However, students still need sufficient practical programming ability to turn their ideas into working programs.

06What Is the BIO Competition Pathway?

BIO First Round
School-based programming competition.
BIO Final
Top-performing competitors invited to Cambridge.
National Team Selection
International Olympiad in Informatics

The BIO final is also used in selection for competitions including the European Girls' Olympiad in Informatics (EGOI) and the Western European Olympiad in Informatics (WEOI).

07What Was the BIO 2026 First-Round Format?

The 2026 first round consisted of 3 questions completed in 3 hours. The problems required programming solutions and were supplemented by written parts.

This means students needed to balance Programming, Mathematical Reasoning, Written Answers and Time Management.

08Can Students Use Any Programming Language?

For the 2026 first round, students could solve the programming tasks on any type of computer and in any programming language, according to the official competition rules.

This gives students flexibility to use a language they already understand well.

09Which Programming Language Should a Student Choose?

The best language for early preparation is usually one the student can use confidently. A suitable competition language should allow them to:

  • Read Input
  • Produce Output
  • Use Loops
  • Write Functions
  • Manipulate Strings
  • Use Lists/Arrays
  • Implement Algorithms
  • Debug Quickly

For beginners, clarity and fluency are more important than choosing a language simply because it appears advanced.

10What Language Is Used at the BIO Final?

The 2026 BIO final rules stated that competitors would use computers running Linux and that C/C++ would be available as the programming language environment. Competitors were given an opportunity to familiarise themselves with the environment before the contest.

Therefore, students aiming for national-final progression should eventually become comfortable with the competition environment specified for their year.

11What Happens at the BIO Final?

For 2026, the best 15 competitors from Round One were invited to the final at Churchill College, Cambridge, alongside additional students competing for EGOI selection.

The final involved Programming Problems and Written Problems.

12What Happens After the BIO Final?

The top four selected competitors form the team representing Britain at the International Olympiad in Informatics (IOI).

The BIO final is also used to select or contribute to selection for EGOI and WEOI.

13What Is the International Olympiad in Informatics?

The International Olympiad in Informatics (IOI) is an international programming competition for high-performing pre-university students. Competitors tackle complex algorithmic problems using computers.

The emphasis is on

  • Algorithm Design
  • Correctness
  • Efficiency
  • Implementation

At BIO 2026, the four highest-selected finalists were due to form Britain's IOI team.

14What Skills Does Competitive Informatics Test?

Successful students typically need a combination of:

Programming Fluency
Turning ideas into working code.
Algorithmic Thinking
Designing a method that solves the problem.
Logical Reasoning
Understanding why the method works.
Mathematical Thinking
Recognising structures, patterns and constraints.
Efficiency
Avoiding solutions that become too slow on larger inputs.
Testing
Finding cases where the solution fails.
Debugging
Identifying and correcting mistakes quickly.

15Coding vs Algorithms

This distinction is fundamental.

Coding
Writing instructions in a programming language.
Algorithm
The logical method used to solve the problem.

Algorithm = The Idea. Code = The Implementation of the Idea. Competition preparation must develop both.

16Why Strong Coders Can Still Struggle

A student may be able to build

  • Websites
  • Games
  • Apps
  • School Programming Projects

and still struggle with informatics competitions.

Why? Because competition problems often ask: can you discover an efficient solution to a completely unfamiliar problem? — rather than: can you build something using familiar programming tools?

17Why Mathematical Students Can Also Struggle

A strong mathematician may spot patterns and develop clever ideas but still need programming fluency. They must be able to convert: Reasoning → Algorithm → Working Program.

If implementation takes too long or introduces errors, a correct mathematical idea may not become a successful competition solution.

18Programming Foundations Come First

Before advanced algorithm work, students should be comfortable with:

  • Variables
  • Input & Output
  • Conditions
  • Loops
  • Functions
  • Lists / Arrays
  • Strings
  • Basic Data Structures
  • Debugging
  • Program Organisation

These skills should become sufficiently automatic that they do not distract from problem solving.

19Learn to Read a Programming Problem Properly

Before writing code, identify:

Input
What information does the program receive?
Output
What exactly must it produce?
Constraints
How large can the input become?
Rules
What operations or relationships define the problem?
Examples
Why do the sample inputs produce the sample outputs?

Only then should implementation begin.

20Do Not Start Coding Immediately

A common competition mistake is: Read First Paragraph → Start Typing.

Instead: Read → Understand → Model → Design → Then Code.

Five minutes of careful thinking can prevent 30 minutes of debugging the wrong approach.

21Write Small Examples by Hand

Before implementing an algorithm, try small cases. If a problem allows values up to thousands or millions, test manually with 1, 2, 3 or Small Custom Inputs.

Ask

  • What changes?
  • What stays the same?
  • Can I identify a pattern?
  • Can I simulate the process manually?

Small cases often expose the structure of the problem.

22Learn Simulation

Some competition problems describe a process that can be modelled directly, for example: Move objects, Transform strings, Update positions, Follow instructions, Change states.

A simulation solution follows these rules computationally. Students should learn when direct simulation is sufficient — and when it becomes too slow.

23Understand Brute Force

Brute force means systematically trying many or all possibilities. It is sometimes Perfectly Acceptable and sometimes Far Too Slow.

Students need to ask: how many possibilities could there be? Before rejecting brute force, estimate its actual cost. Before using brute force, check whether it can finish within the required time.

24Learn Algorithmic Efficiency

Two programs can produce exactly the same answer but require dramatically different amounts of work. Suppose one method performs roughly n operations while another performs n².

For small inputs, both may work. For large inputs, the difference can become enormous. This is why competition programmers need to understand algorithmic efficiency.

25Time Complexity

Students should gradually learn concepts such as O(1), O(log n), O(n), O(n log n), O(n²) and more expensive growth rates.

The purpose is not simply to memorise notation. Students should be able to ask: will this algorithm remain practical for the maximum input size?

26Why Input Constraints Matter

If a question says n ≤ 20, a very different algorithm may be possible compared with n ≤ 1,000,000.

Constraints are clues. They help students estimate which approaches might be intended. Always read them.

27Important Data Structures

As students progress, they may need structures such as:

  • Arrays / Lists
  • Stacks
  • Queues
  • Sets
  • Maps / Dictionaries
  • Priority Queues
  • Trees
  • Graphs

The goal is to understand: which structure makes the required operations efficient?

28Arrays & Lists

Arrays or lists are fundamental. Students should become comfortable with:

  • Indexing
  • Iteration
  • Searching
  • Updating
  • Sorting
  • Prefix Information
  • Multi-Dimensional Structures

Strong array manipulation supports a large range of competition problems.

29Stacks & Queues

Stack
Last in, first out.
Queue
First in, first out.

These structures become particularly useful in

  • Expression Processing
  • Search Problems
  • Graph Traversal
  • Simulations

30Sets & Dictionaries

Sets and dictionaries can provide efficient ways to

  • Check Membership
  • Count Frequencies
  • Remove Duplicates
  • Store Relationships
  • Map Keys to Values

Students should recognise when repeated linear searching can be replaced with more efficient lookup.

31Sorting

Sorting is far more than a basic programming exercise. Once data is sorted, many problems become easier. Sorting can support:

  • Searching
  • Grouping
  • Greedy Decisions
  • Duplicate Detection
  • Interval Problems
  • Order-Based Reasoning

Before inventing a complex method, ask: would sorting simplify the problem?

32Searching

Linear Search
Check elements one at a time.
Binary Search
Repeatedly halve a sorted search space.

More advanced competitive programming also uses binary search on an answer space, not only on arrays.

33Recursion

Recursion can be useful when a problem naturally breaks into smaller versions of itself. Examples include

  • Tree Problems
  • Backtracking
  • Divide-and-Conquer
  • Recursive Structures

Students should understand both how recursive calls work and when recursion becomes inefficient or unsafe.

34Backtracking

Backtracking explores possible choices while abandoning paths that cannot produce a valid solution. A common structure is: Choose → Explore → Undo → Try Another Choice.

It can be useful for

  • Permutations
  • Constraint Problems
  • Path Finding
  • Search Spaces

But students need to monitor how quickly the number of possibilities grows.

35Greedy Algorithms

A greedy strategy repeatedly makes what appears to be the best immediate choice. This can produce an optimal solution for some problems — but fail badly for others.

Students therefore need to answer: why is this greedy choice always safe? A plausible idea is not enough.

36Dynamic Programming

Dynamic programming is useful when Subproblems Repeat and Previous Results Can Be Reused. Instead of repeatedly solving the same smaller problem, store its result.

A common development path is: Brute Force Recursion → Identify Repetition → Store Results → Dynamic Programming.

37Graphs

Many real and abstract problems can be modelled as Vertices + Edges. Examples include:

  • Road Networks
  • Friendship Connections
  • States
  • Game Positions
  • Dependencies
  • Routes

Students should learn to recognise when a problem is secretly a graph problem.

38Breadth-First Search

Breadth-first search, or BFS, is particularly useful for problems involving

  • Shortest Paths in Unweighted Graphs
  • Minimum Number of Moves
  • Layered Exploration

A queue is typically used to process states in increasing distance.

39Depth-First Search

Depth-first search, or DFS, explores deeply before backtracking. It is useful for:

  • Connected Components
  • Cycle Investigation
  • Tree Traversal
  • Reachability
  • Search Problems

Students should understand both recursive and iterative implementations where appropriate.

40Shortest-Path Problems

As students advance, they may encounter weighted graph problems. These can require algorithms such as Dijkstra's Algorithm or other shortest-path techniques.

The key step is first recognising: this problem can be represented as a graph.

41Strings

Strings appear frequently in programming competitions. Students should practise:

  • Character Processing
  • Substring Logic
  • Pattern Matching
  • Frequency Counting
  • Transformations
  • Lexicographical Ordering
  • Encoding

Strong string manipulation is especially valuable in early competition preparation.

42Mathematics for Informatics

Competitive programming often uses mathematical thinking. Useful areas can include:

  • Divisibility
  • Prime Numbers
  • Modular Arithmetic
  • Combinatorics
  • Sequences
  • Coordinates
  • Geometry
  • Probability
  • Logical Invariants

Students do not necessarily need advanced school Mathematics for every problem, but mathematical maturity is highly valuable.

43Learn Modular Arithmetic

Modular arithmetic deals with remainders. For example: 17 mod 5 = 2, because dividing 17 by 5 leaves remainder 2.

It appears frequently in

  • Cycles
  • Large Number Problems
  • Counting
  • Number Theory
  • Clock-Like Processes

44Combinatorics

Students may need to count

  • Arrangements
  • Selections
  • Paths
  • Possible States
  • Valid Configurations

These problems can often be approached either mathematically or algorithmically. Strong competitors learn to move between the two viewpoints.

45Problem Modelling

A major competition skill is turning the story into something computational. A problem about People, Roads, Letters, Tiles or Games may really be about Graphs, Strings, Arrays, Dynamic Programming or Search.

Ask: what is the underlying structure?

46Correctness Matters Before Optimisation

A very fast wrong algorithm is still wrong. Preparation should follow: Understand → Build Correct Solution → Test → Then Optimise.

Students should avoid premature optimisation before they are certain what problem they are solving.

47Test Edge Cases

Programs often work on typical examples but fail at boundaries. Always test cases such as:

  • Smallest Input
  • Largest Input
  • All Values Equal
  • Already Sorted
  • Reverse Order
  • No Solution
  • Exactly One Solution
  • Repeated Values
  • Extreme Numerical Values

The specific cases depend on the problem.

48Do Not Trust Sample Tests Alone

Passing the sample input only proves your program works on the sample input. It does not prove that the algorithm is correct.

Create additional tests. Ask: what situation might break my assumptions?

49Debug Systematically

When a program fails:

  • 1. Reproduce the error
  • 2. Find the smallest failing test
  • 3. Compare expected vs actual behaviour
  • 4. Trace variables
  • 5. Identify the first incorrect state
  • 6. Fix the cause — not merely the symptom

Randomly changing code is inefficient.

50Read Before Debugging

Sometimes the problem is not the code.

The student may have misunderstood

  • Input Format
  • Output Format
  • A Boundary Condition
  • A Definition
  • The Required Result

Before rewriting code, reread the problem statement.

51BIO Programs Are Tested on Inputs

The 2026 BIO marking scheme shows that competition programs were black-box tested using specified test data. Programs had to produce correct outputs, and relevant tests were required to terminate within one second to receive marks.

This demonstrates why both Correctness and Efficiency matter.

52Written Questions Matter Too

BIO Round One is not purely about submitting code. The official structure includes Programming Tasks and Written Problems.

Students should therefore practise explaining reasoning and calculating results without depending entirely on running code.

53Read All Problems Before Committing

The official 2026 marking instructions encouraged competitors to read the questions before attempting their answers.

This is strong competition strategy. Students can identify

  • The Most Accessible Question
  • Problems Matching Their Strengths
  • Likely Time Requirements

rather than automatically beginning with Question 1.

54Partial Progress Can Matter

A competition problem may have several parts or test groups. Students should not assume “If I cannot solve the whole problem, there is no point attempting it.”

A simpler or less efficient solution may still solve some cases. Understanding how to secure partial progress can be valuable in programming competitions.

55Build Solutions in Stages

Instead of trying to implement the perfect algorithm immediately:

Stage 1
Solve tiny inputs.
Stage 2
Build a correct general approach.
Stage 3
Test thoroughly.
Stage 4
Improve efficiency.

This reduces the risk of spending most of the competition implementing an advanced idea that never works.

56Past BIO Problems Are Essential Preparation

The BIO website maintains historical Competition Papers, Programming Problems and Mark Schemes for students and schools. The 2026 Round One page, for example, publishes both the paper and mark scheme after the competition.

These are valuable because they show authentic competition-style problems.

57How to Use Past Problems Properly

Avoid: Read Problem → Read Solution → Move On.

Use:

Attempt
Design your own solution.
Implement
Write the program.
Test
Create several test cases.
Compare
Review official material where available.
Analyse
Understand weaknesses.
Reattempt
Return later without assistance.

58Keep an Informatics Problem Journal

Students can track: Problem, Main Idea, What Went Wrong?, Key Learning, Reattempt — for example: 1. Simulation — Misread rule — Model states first — Yes; 2. Strings — Too many loops — Improve lookup — Yes; 3. Graph — Missed BFS — Model moves as edges — Yes; 4. DP — Recalculated states — Store previous results — Yes; 5. Greedy — No proof — Test counterexamples — Yes.

This helps convert individual problems into reusable knowledge.

59Categorise Programming Mistakes

Understanding Error
The problem itself was misunderstood.
Algorithm Error
The chosen method was incorrect.
Complexity Error
The solution was correct but too slow.
Implementation Error
The algorithm was correct but the code was wrong.
Boundary Error
Special or extreme inputs failed.
Input/Output Error
The required format was not followed.
Timing Error
Too long was spent on one task.

This classification helps students practise more intelligently.

60Reattempt Problems Without Looking

After understanding a solution, close the notes. Wait several days. Then attempt the problem again.

A student who can reconstruct the algorithm independently has learned significantly more than one who merely recognises the official solution.

61Avoid Memorising Code

Memorising entire solutions is weak preparation. Students should understand reusable ideas such as BFS, Binary Search, Dynamic Programming, Sorting, Frequency Counting but must still adapt them to new problems.

The objective is: recognise the pattern → adapt the algorithm, not copy a remembered program.

62AI Tools and Competition Preparation

AI can be useful outside formal competition settings for explaining concepts or reviewing learning when used responsibly. However, competition rules must always be followed.

For BIO 2026, the official marking instructions explicitly stated that students could not use AI code-generation tools during the contest. Internet use was also restricted, apart from online help required for the student's programming language.

Students should therefore practise solving and implementing problems independently.

63Build Independent Coding Ability

A student preparing for BIO should be able to:

  • Start a Program from a Blank File
  • Write Input Handling
  • Implement an Algorithm
  • Test It
  • Debug It
  • Improve It

without relying on generated code. That independence is a core competition skill.

64How Should Beginners Start?

A beginner should not immediately start with national-final problems.

Use: Programming Basics → Short Logic Problems → Simple Simulations → Search & Sorting Problems → Algorithmic Problems → Past BIO Questions → Advanced Olympiad Problems.

Difficulty should increase gradually.

65How Should More Advanced Students Prepare?

Students already comfortable with programming should focus increasingly on

  • Algorithm Design
  • Data Structures
  • Complexity Analysis
  • Graph Algorithms
  • Dynamic Programming
  • Proof of Correctness
  • Timed Problem Solving
  • Past BIO Problems

At higher levels, programming syntax should no longer be the main obstacle.

66Preparing for the BIO Final

Students aiming beyond Round One should prepare for a major increase in difficulty.

The 2026 final was held at Churchill College, Cambridge, with competitors using a Linux-based environment and C/C++ expected to be available.

Advanced preparation may therefore include

  • C++ Fluency
  • Standard Data Structures
  • Efficient Algorithms
  • Complexity Analysis
  • Advanced Graph Problems
  • Dynamic Programming
  • Competition Environment Familiarity

67Learn C++ When Appropriate

Students do not need to abandon another programming language immediately simply because C++ is common in advanced competitive programming.

A sensible progression is: Learn Problem Solving First, then, when needed, Develop C++ Fluency.

Students should eventually understand

  • Vectors
  • Strings
  • Maps
  • Sets
  • Queues
  • Stacks
  • Priority Queues
  • Sorting

68Example Weekly Informatics Preparation Plan

Session 1
Programming fluency
Session 2
Algorithm/data-structure study
Session 3
1–2 competition problems
Session 4
Debugging and solution analysis
Session 5
Reattempt previous problems
Periodic
Timed BIO-style practice

This is an example and should be adjusted to the student's experience.

69Three-Stage Preparation Plan

Stage 1 – Foundations
Develop Programming, Logic, Arrays, Strings, Functions, Basic Complexity.
Stage 2 – Competitive Programming
Develop Sorting, Searching, Recursion, Graph Search, Greedy Algorithms, Dynamic Programming, Data Structures.
Stage 3 – Competition Readiness
Use BIO Past Papers, Timed Problems, Mixed Algorithms, Performance Testing, Error Analysis, Reattempts.

70How Much Practice Is Needed?

There is no universal number of hours.

A useful measure is not simply how long did I code, but

  • How many unfamiliar problems did I attempt independently?
  • Which new algorithms did I understand?
  • Which errors did I fix?
  • Can I solve a similar problem without help?

Quality matters more than simply accumulating coding time.

71Measure Progress Properly

Look for improvement in

  • Problem Interpretation
  • Algorithm Selection
  • Implementation Speed
  • Accuracy
  • Debugging
  • Complexity Awareness
  • Independent Thinking
  • Performance on Unseen Problems

The strongest indicator is not memorising more code. It is solving increasingly unfamiliar problems independently.

72What If a Student Cannot Solve a Problem?

That is normal. Competition programming is deliberately difficult.

  • 1. Solve smaller cases
  • 2. Write the process manually
  • 3. Identify the underlying structure
  • 4. Build a brute-force solution
  • 5. Look for repeated work
  • 6. Consider a different representation
  • 7. Take a small hint if necessary
  • 8. Study the solution only after a genuine attempt

Struggling productively is part of learning.

73Study Solutions Actively

After reviewing a solution, ask:

  • What was the key observation?
  • Why does the algorithm work?
  • What is its complexity?
  • What would make my approach fail?
  • Could I implement the solution independently?
  • Can I recognise this pattern in another problem?

A solution should teach a strategy — not merely provide code.

74How Parents Can Support Informatics Preparation

Parents do not need to be programmers.

They can help by

  • Providing Regular Practice Time
  • Encouraging Independent Problem Solving
  • Avoiding Pressure to Solve Every Question
  • Supporting Participation Through the School
  • Helping Balance Competition Work With GCSE/A Level Study
  • Encouraging Students to Explain Their Approach

A useful question is “What algorithm did you try, and why?” rather than only “Did your program work?”

75Common Informatics Olympiad Preparation Mistakes

Students should avoid

  • Learning Programming Syntax Without Problem Solving
  • Starting to Code Before Understanding the Task
  • Ignoring Input Constraints
  • Using Brute Force Without Checking Complexity
  • Optimising Before the Program Is Correct
  • Testing Only the Sample Input
  • Ignoring Edge Cases
  • Copying Solutions
  • Memorising Code Without Understanding
  • Never Reattempting Problems
  • Over-Relying on AI-Generated Code
  • Doing Only Easy Problems

76Computing Olympiad Preparation Checklist

Programming Foundations

  • Confident input/output
  • Conditions and loops secure
  • Functions understood
  • Arrays/lists fluent
  • Strings fluent
  • Debugging practised

Algorithms

  • Sorting
  • Searching
  • Recursion
  • BFS / DFS
  • Greedy reasoning
  • Dynamic programming
  • Complexity analysis
  • Appropriate data structures

Competition Skills

  • Past BIO problems attempted
  • Edge cases tested
  • Error log maintained
  • Difficult problems reattempted
  • Timed practice completed
  • Current BIO rules checked
  • School registration route confirmed

77Frequently Asked Questions

What is the British Informatics Olympiad?

The BIO is the national computing competition for schools and colleges in Britain, focused on solving programming problems under competition conditions.

Who can enter BIO?

For BIO 2026, entrants had to be under 19 and studying full-time in secondary or further, rather than higher, education in mainland Britain. Current-year eligibility should always be checked.

Do students need to study Computer Science?

No. BIO states that students do not need to be studying Computer Science, and some successful competitors have been self-taught.

How long is the first round?

The 2026 first round lasted three hours and consisted of three main questions.

Which programming language can students use?

For BIO 2026 Round One, students could use any programming language on any type of computer.

Is BIO only about coding?

No. It assesses algorithmic problem solving, programming, efficiency and written reasoning.

How many students reach the BIO final?

Under the 2026 rules, the best 15 first-round competitors were invited, alongside additional competitors involved in EGOI selection.

Where was the 2026 final held?

The 2026 final took place at Churchill College, Cambridge.

Can BIO lead to the International Olympiad in Informatics?

Yes. Four selected finalists form Britain's team for the IOI under the BIO pathway.

Are past BIO papers available?

Yes. The BIO website maintains historical competition questions and publishes papers and mark schemes, including the 2026 Round One materials.

How Dominis Supports Computing & Informatics Olympiad Preparation

Dominis follows a Foundations → Algorithms → Problem Modelling → Implementation → Testing → Debugging → Timed Practice approach, tailored to the student's current programming level and competition goals.

Programming Foundations

  • Python / C++ Fundamentals
  • Variables & Control Flow
  • Functions
  • Arrays & Strings
  • Debugging

Algorithms & Data Structures

  • Sorting
  • Searching
  • Stacks & Queues
  • Sets & Maps
  • Graph Algorithms
  • Greedy Algorithms
  • Dynamic Programming

Computational Problem Solving

  • Problem Modelling
  • Pattern Recognition
  • Algorithm Design
  • Edge-Case Analysis
  • Correctness
  • Efficiency

Competition Programming

  • BIO-Style Problems
  • Past-Paper Practice
  • Timed Programming
  • Debugging Under Pressure
  • Performance Analysis

Ready to Take Computing Beyond the Classroom?

Foundations. Algorithms. Problem Modelling. Implementation. Testing. Debugging. Timed Practice.

Computing Olympiad preparation is not about memorising code. Speak to our Academic Support Team to discuss a suitable Computing & Informatics Olympiad preparation pathway.