The Bebras Contest is a test carried out in schools to bring informatics and computational thinking into the earliest years of students' education, both in compulsory schooling and in upper secondary school. This contest is held every year, in autumn in the northern hemisphere and in spring in the southern hemisphere, under teacher supervision in the school classroom.
Computational thinking involves using the same set of problem-solving skills and techniques that software engineers use to write programs and applications. The Bebras challenges promote problem-solving skills and computer science concepts, including the ability to break tasks down into simpler parts, algorithm design, pattern recognition, pattern generalisation, and abstraction.
The contest lasts 45 or 50 minutes and has between 12 and 15 questions. No prior knowledge of computer science is required. It is held at five different levels: Primary years 3 and 4, years 5 and 6, ESO (lower secondary) years 1 and 2, ESO years 3 and 4, and Bachillerato (upper secondary) years 1 and 2. It can be taken at any time teachers consider appropriate.
The contest will run on a new platform, so new instructions must be followed to take part.
This 202627 academic year, you will be able to take the Bebras contest from 9 November 2026 onwards. You can take it on whichever day and time you like, and you don't need to let us know in advance.
Any school wanting information about this initiative can get in touch by email.
To register, you will need to fill in this form: https://forms.gle/uWVisJgxaCBQRMc89
One to two weeks before Bebras begins, you will receive a PDF document with instructions for taking Bebras on the ViLLE platform, where you will need to register again. You will then register your students yourselves.
You can take it in one language or in several, as you choose (Spanish, Basque, Catalan and English).
Email: javier.bilbao@ehu.eus
These exercises are official Bebras 2025 tasks, adapted here with real interactive response (drag, tap, check) instead of a static image. Designed to replace the current example carousel.
Five villagers have come to offer the queen baskets of fruit: apples, bananas and pears. Each basket contains 8 pieces of fruit. Apples are her favourite fruit: she will receive first whoever brings the most apples. In case of a tie, whoever has the most bananas goes first.
Count how many apples each basket has and sort them from most to fewest. Basket B (5 apples) goes first. Baskets A and D tie with 3 apples, so the tie is broken by looking at the bananas: D has 4 and A has 2, so D goes before A. Last come C (2 apples) and E (1 apple). Final order: B, D, A, C, E.
This is a case of sorting by multiple keys: items are first compared by a primary criterion (apples) and, only in case of a tie, by a secondary one (bananas) — just like a program that sorts a contact list by surname and, if that matches, by first name. It requires abstraction (ignoring the pears, which don't matter) and applying a comparison algorithm systematically.
Lars made some drawings of plants. His little sister found them and tried to "prettify" them by painting over them with her fingers. Can you recognise the original drawing underneath each prettified version?
Compare the shape of the black lines and the lighter areas of each prettified version with the lines of the four original drawings: the number and position of the branches and the circles at the tips are the key clue for finding each match.
Reconstructing a damaged image from clues is the idea behind diffusion models, AI systems that learn to restore images from thousands of examples. You solve it through logic; the AI learns it through machine learning. It requires abstraction (focusing only on lines and gaps, not colour) and a search strategy: starting with whatever is easiest to identify.
A group of friends plays a game of drawing monsters by rolling 5 coloured dice. Each die fixes one feature of the monster:
With the dice (🔴3, 🟡2, 🟢6, 🔵3, 🟣4) the rules require: 3 eyes, 2 horns, 6 arms, 6 teeth (3×2), 4 legs and 5 spots (the two lowest results are 2 and 3). Only monster B meets all six conditions at once.
Each rule is an instruction of the form "if this happens, then do that" — exactly like a condition in a program. Solving the task requires pattern recognition (counting eyes, arms, teeth...), decomposition (splitting the monster into independent features) and algorithmic thinking to check the conditions one by one without skipping any.
Beaver is at the aquarium making a list of all the fish. He wants to sort them into three groups: round, striped and black-bellied. Some fish fit into more than one group at once.
A fish that is round, striped and black-bellied all at once goes in the centre, where the three circles overlap. A fish with only two of those features goes in the zone where only those two circles cross. The other fish go in the part of a single circle that they don't share with any other.
A Venn diagram is used in computer science to visualise how several sets of data overlap, and to represent logical operations such as AND, OR and NOT. Sorting the fish requires pattern recognition (finding shared traits) and abstraction (focusing only on the three features that matter and ignoring the rest).
The beavers need to fell trees to build a dam. The trees are numbered 1 to 6 and have different heights. They can only be felled in this order: each next tree must have a higher number than the previous one and be shorter than it.
You need to try every possible chain of trees with increasing number and decreasing height, and keep the one with the highest sum. Starting at tree 3 (9 m), you can continue with tree 4 (7 m) and finish at tree 6 (5 m): 9 + 7 + 5 = 21 m, the maximum possible.
This is an optimisation problem: among many possible options, you have to find the best one according to a rule. It is solved using exhaustive search (trying every valid combination and keeping the best one) — tedious by hand with 6 trees, but something a computer does in an instant even with thousands of options.
Ana is throwing a party. There is room for 9 cars at the entrance, in three rows of 3. Each guest parks in the first free spot of whichever row you choose — but watch out: a car that arrived earlier must not end up blocked behind one that will leave later.
Each row works like a dead-end alley: only the car closest to the street can be taken out (the last one to park, the one lowest in the drawing). Because of this, two friends can only share a row if the one who arrives later is also the one who leaves earlier. For example, Ann, Bob and David can share one row; Claire, Hailey and Ivan another; and Elen, Frank and George the third — checking pair by pair that whoever parks later leaves earlier, no one ends up blocked. There is more than one valid arrangement: the key is that, within each row, the arrival order (from back to street) must be exactly the reverse of the departure order.
Each row works like a stack: the last car in is the first one out (LIFO, "last in, first out"). Distributing many elements across several stacks without them blocking each other is called a multi-stack partition problem, and it comes up, for example, when distributing tasks among several processors. Solving it requires algorithmic thinking and logical reasoning about the order of entry and exit.