I would like to know about what is the criteria of choosing the team that will represent your country in IOI and what is the criteria of training students, is programming is studied in high schools in your country and details about this stuff.
I'll start by talking about Olympiad system in Syria:
in Syria there's one organization that is responsible for all science Olympiad (maths, informatics , chemistry , physics , biology) all events for all subjects happens in the same time.
each year there's mainly three events
1- Central national Olympiad (in January of every year):
this is the first step to enter the Olympiad world each student in first year of high school should choose only one subject to participate in, then they do elimination exams, so that the top 5 of every state in Syria is chosen to to participate in "Central national Olympiad", since programming is not teached in high schools the majority of students don't know programming thus, the exams are paper-wise which have many question ans puzzles which needs way of thinking similar to the one in competitive programming , after the top 5 is chosen from each state they are given some lessons about programming to get ready for "Central national Olympiad" that is held in Damascus (capital of Syria) , students have only one month to learn programming before "Central national Olympiad" , only top 10 will be members of "national team" students that fail of being in "national team" in first year of high school have no other chance to join it.
2- Selection contest (in march of every year):
only "national team" members are invited to this contest where top 4 in this contest are chosen to represent Syria in IOI
3- training camp (in June of every year):
all "national team" members are invited to this camp where they stay in Damascus for about 20 days to get training
What about your country?
sorry for my poor English