Learn and practise
Registration gives every student free access to the preparation course. Choose from three tracks, work on real AI problems and take the mock rounds.
The national selection for the International Olympiad in Artificial Intelligence.
An international science olympiad where secondary-school students train and test real AI models.
The International Olympiad in Artificial Intelligence (IOAI) sits alongside the olympiads in mathematics, physics and informatics. Its first edition was held in 2024, making it the youngest of these international science olympiads. Each country sends a national team. Students solve practical problems in machine learning, computer vision, language and multimodal AI.
In 2026, eight students represented Spain for the first time in Astana. The team placed 26th of 108 countries, earning two silver medals, one bronze and three honourable mentions.
Explore Spain’s 2026 results →
From 4 to 10 July 2027, a new team will represent Spain at the World Finals in Singapore.
Registration gives every student free access to the preparation course. Choose from three tracks, work on real AI problems and take the mock rounds.
Test your skills in two online rounds and an in-person final. The students with the best results in the final are invited to the next stage.
Spain’s national team is chosen at the selection camp. The team then prepares together in Bangkok before travelling to Singapore for the World Finals. Training, travel and participation are covered.
Spanish citizenship, permanent residency in Spain, or full-time enrolment at a school in Spain. The student does not take part in the final selection of any other country for IOAI 2027.
20 years old or younger on 1 July 2027.
Enrolled full-time in secondary education on or after 1 December 2026.
Every registration includes a free place on the preparation course. Most students start on the standard track; a short self-assessment on the platform shows whether to complete the basic track first, and you keep access to both. See how to prepare
Students start with different prior knowledge, so three tracks cover the same season at different depths. Most students should start on the standard track. When the platform opens you take a short self-assessment, which shows whether to complete the basic track first or stay on the standard one; a separate challenge admits you to the advanced track. You can move between levels at the end of each module. If you join later, you’ll receive access to every earlier recording, task, and solution.
For students who have not programmed before, or who have not used Python.
The basic track teaches programming in Python from the beginning. It also covers the mathematics that the standard track assumes. This track is self-paced. There is no fixed weekly schedule. A student works through it at their own speed. A student who starts here keeps access to the standard track as well and can follow both at the same time. At the end of any module, a student can move to the standard track.
The track contains two courses.
Python 1 — beginner level, 25 lessons, about 30 hours. The basics of programming in Python. The course is built around practical exercises.
Math 101 — foundation level, 16 lessons, about 25 hours. School-level mathematics, with problems to solve and visual explanations.
Together the two courses take about 55 hours of work. The platform also contains materials on Python, NumPy, Pandas and mathematics. It contains guides to Kaggle, Google Colab and Jupyter Lab as well.
For students who already write basic Python and know school-level mathematics.
This is the main course.
The standard track covers machine learning from the beginning. It starts with classical methods, such as linear models, decision trees, feature engineering and validation. It then covers neural networks, computer vision and natural language processing. It finishes with more advanced topics, such as transformers, multimodal models, generative models and audio.
The lessons are recorded in advance. They are published on the platform on Sundays at around 17:00.
Each week there is a lecture of 100 to 120 minutes and a practical seminar of 60 to 80 minutes. Students also receive one practical task each week. The review of the previous week's task is published after the deadline. Questions are answered in the chat on the platform and on Discord.
The weekly task takes one of two forms. In some weeks it is a notebook assignment, where a student completes the missing parts of the code. In other weeks it is a training competition, where students solve a task and compare their results. Over the season there are about 8 notebook assignments and about 8 training competitions.
In total, the standard track has about 17 lectures and 16 seminars.
For students who already write code and already know some machine learning.
The advanced track follows the same programme as the standard track. Students on this track receive everything that students on the standard track receive.
They also receive five additional lectures during the season. These are published every two or three weeks. They cover topics such as data leaks, self-supervised learning for images, time series, adversarial attacks and model steering.
Students on the advanced track receive a harder version of the weekly task. They also receive about 50 practical problems during the season. Every one of these problems comes with a written solution.
Alongside the weekly work, two kinds of practice are available on fixed dates for students on every track.
Each one uses a real task and lasts four to five weeks. Students on all three tracks take part in the same competitions. The solutions are published after each one closes.
A complete set of tasks with a time limit, written and marked as in the real selection. Every registered student can take part. Results and solutions follow each round.
The Spanish Olympics in AI takes place over three rounds. Students with the best results in the final round are invited to the selection camp.
The selection camp determines who will represent Spain in the World Finals. Invited students train and compete together. The team is selected on the last day of the camp.
In person · 25 Mar – 2 Apr 2027
AI challenges, lectures and training, with time to discuss solutions.
Including the finals, plan to be away from home from 23 March 2027 to 2 April 2027.
The selected team then trains together for three weeks in Bangkok before competing at the World Finals in Singapore. Dates in the calendar
From 15 Sept 2026
Register, take the self-assessment and find your track. Registration stays open until 7 Feb 2027.
The platform opens for registered students. You can use the preparation materials, take a short self-assessment that shows whether to complete the basic track first or stay on the standard one, and take the challenge for the advanced track. Most students start on the standard track, and you can move up or down at the end of each module.
5 Oct 2026 – 7 Feb 2027
Weekly lessons on three tracks, with three long competitions and two mock rounds. You can join at any point.
Students on all three tracks take part in the same competition, based on a real task and lasting several weeks. Solutions are published after the competition closes. It is separate from the weekly assignments and the mock rounds; if you join after it closes, you can no longer take part in it.
A complete set of timed tasks, written and marked like the real selection. Every registered student can take part. You receive results and solutions afterwards to understand your level and what to work on next.
Students on all three tracks take part in the same competition, based on a real task and lasting several weeks. Solutions are published after the competition closes. It is separate from the weekly assignments and the mock rounds; if you join after it closes, you can no longer take part in it.
No new lessons are published during the winter break. Earlier materials remain available in the course archive.
Students on all three tracks take part in the same competition, based on a real task and lasting several weeks. Solutions are published after the competition closes. It is separate from the weekly assignments and the mock rounds; if you join after it closes, you can no longer take part in it.
A complete set of timed tasks, written and marked like the real selection. Every registered student can take part. You receive results and solutions afterwards to understand your level and what to work on next.
The last preparation-course lecture is published. The final task review follows when the course ends.
13 Feb – 24 Mar 2027
Two online rounds and an in-person final. Students with the best results in the final are invited to the selection camp.
Stage 1 takes place online. The students with the best results go on to stage 2.
Stage 2 also takes place online. The students with the best results go on to the Spanish final.
The Spanish final takes place in person, at the same place as the selection camp. The students with the best results stay on for the camp; the other students return home after the final.
25 Mar – 2 Apr 2027
The invited students train and compete together. The Spanish team is chosen and announced at the end of the camp.
The camp begins the day after the Spanish final ends and lasts nine days, at the same location. Its programme consists mainly of competitions and problem-solving challenges, with lectures, training sessions and discussions of the solutions in between. Including the final, a student who reaches the camp is away from home from the first day of the final until the camp ends.
From 12 Jun 2027
The selected team trains together for three weeks before the World Finals.
Three weeks of training for the Spanish team before the World Finals.
4 – 10 Jul 2027
The team represents Spain at the International Olympiad in Artificial Intelligence.
The selected team represents Spain in Singapore.
Participation is free at every stage.
Harbour.Space Institute of Technology is a private higher-education institution founded in 2015, with its main campus in Barcelona and a track record in the international olympiads in informatics and competitive programming.
2026–2027 Cycle