Olimpiadi internazionali dell'informatica

Le Olimpiadi internazionali dell'informatica, in inglese International Olympiad in Informatics e in acronimo IOI, sono competizioni fra studenti delle scuole secondarie che si svolgono annualmente. Le prime di queste competizioni si sono svolte nel 1989

La competizione consiste di due giorni di programmazione per la soluzione di problemi di natura algoritmica.

Gli studenti competono su base individuale e da ogni nazione partecipante provengono fino a quattro studenti (ad eccezione della nazione ospitante che può far concorrere 8 studenti); nel 2004 hanno partecipato 81 nazioni.

Nel 2012 le Olimpiadi internazionali dell'informatica si terranno per la prima volta in Italia, a Sirmione.

La selezione italiana

Ogni nazione adotta il criterio di selezione che preferisce. In Italia le selezioni vengono suddivise in scolastiche, territoriali e nazionali.

Selezione scolastica

La prova viene somministrata nell'istituto di provenienza di ogni studente. La prova consiste in un test cartaceo, suddiviso in problemi logico-matematici e problemi di programmazione. Negli ultimi anni si è sempre dato più peso ai problemi matematici, necessari per risolvere i complessi algoritmi delle prove internazionali.

Ogni risposta può essere a risposta chiusa o aperta e gli viene assegnato un punteggio positivo, negativo o nullo, in base se lo studente ha risposto correttamente, ha sbagliato o non ha risposto.

Nella selezione scolastica 2010-2011 si sono iscritti 441 istituti per un totale di circa 10.000 studenti[

Alla selezione successiva passano sempre il primo studente di ogni istituto, il secondo se ha superato la media nazionale e altri studenti a discrezione del comitato organizzativo. 

Selezione territoriale

Gli studenti ammessi, parteciperanno alla selezione territoriale (in passato regionale) che si svolgerà in una sede prefissata. Ogni sede ha in media 30 partecipanti e ogni regione ha un numero di sedi variabile, da 1 a 4

Le prove assegnate saranno da svolgere programmando in C, C++ o Pascal su calcolatore. Il tempo fissato è di 3 ore e le prove assegnate sono solitamente 3, con gradi di difficoltà diversi. Passano alla fase successiva, il primo classificato di ogni regione, a patto che abbia superato il punteggio della media nazionale, e i migliori 80 (inclusi i primi per regione).

Selezione nazionale

Gli 80 studenti ammessi parteciperanno alla competizione nazionale tutti insieme, in una determinata sede. La prova consiste sempre in 3 problemi, ma il tempo concesso è di 5 ore. A differenza delle precedenti selezioni, i risultati vengono comunicati direttamente ai partecipanti il giorno dopo la gara.

I migliori diventeranno Probabili olimpici, di numero variabile fino ad un massimo di 20.

Probabili Olimpici

I probabili olimpici partecipano a varie settimane di formazione e selezione fino al Giugno precedente alla gara internazionale quando saranno delineati i 4 olimpionici e 2 riserve.

Struttura della competizione internazionale

In ciascuno dei due giorni di competizione, agli studenti vengono solitamente assegnati tre problemi che devono risolvere in cinque ore.

Ogni studente lavora da solo, al computer, senza poter contare su alcun aiuto: è proibito comunicare con gli altri partecipanti, utilizzare libri ecc. Generalmente, per risolvere il problema il concorrente deve scrivere un programma in C, C++ o Pascal e consegnarlo prima che il termine di cinque ore scada. 

Successivamente, il programma viene valutato mandandolo in esecuzione con dei dati di prova, segreti, per un totale di 10 o 20 prove con dati diversi.

Al concorrente vengono assegnati punti per ciascun caso di prova che il suo programma risolve correttamente, entro i limiti di memoria e di tempo assegnati. In alcuni casi, il programma del concorrente deve interagire con una libreria esterna, questo per consentire problemi nei quali l'input non è fissato ma dipende dalle azioni del programma – per esempio nei problemi nei quali il programma deve "giocare".

Un altro, nuovo tipo di problemi, è quello che prevede che gli input siano disponibili pubblicamente durante le cinque ore della competizione.

Il partecipante in questo caso non deve consegnare un programma, ma l'output relativo all'input assegnato: sta a lui decidere se ottenere i file di output scrivendo un programma (sfruttando speciali caratteristiche dell'input), a mano, oppure mediante una combinazione di questi metodi.

Il punteggio dei due giorni di competizione e tutti i problemi sono sommati per ciascun concorrente.

Alla cerimonia di premiazione, i concorrenti sono premiati con delle medaglie a seconda del loro punteggio totale.

Generalmente, la metà migliore dei concorrenti (due per paese, in media) è premiato con una medaglia, in modo che il rapporto fra oro : argento : bronzo : nessuna medaglia sia approssimativamente 1:2:3:6 (così circa 1/12 dei concorrenti ottiene una medaglia d'oro).

  Italia

L'Italia ha vinto in sole 11 edizioni (partecipa dal 2000) 29 medaglie

  • 1 medaglia d'oro

  • 11 medaglie d'argento

  • 17 medaglie di bronzo

Lista  delle sedi delle Olimpiadi

IOI 2011 si terranno  a Pattaya City, Thailandia dal 22 al 29 Luglio, 

IOI 2010 si sono tenute in Canada, 8-21 agosto 2010, 
IOI 2009 si sono tenute a Plovdiv, Bulgaria, 8-15 agosto 2009,
IOI 2008 si sono tenute a Il Cairo, Egitto, 16-23 agosto 2008, 
IOI 2007 si sono tenute a Zagabria, Croazia, 15 - 22 agosto, 2007 
IOI 2006 si sono tenute a Mérida, Yucatán, Messico, 13 - 20 agosto, 2006 
IOI 2005 si sono tenute a Nowy Sącz, Polonia, 18 - 25 agosto, 2005
IOI 2004 si sono tenute ad Atene, Grecia, 11 - 18 settembre, 2004 
IOI 2003 si sono tenute a Parkside, Wisconsin, USA, 16 - 23 agosto, 2003 
IOI 2002 si sono tenute a Yongin, Corea del Sud, 18 - 25 agosto, 2002
IOI 2001 si sono tenute a Tampere, Finlandia, 14 - 21 luglio, 2001 
IOI 2000 si sono tenute a Pechino, Repubblica popolare cinese, 23 - 30 settembre, 2000
IOI 1999 si sono tenute ad Antalya, Turchia, 9 - 16 ottobre, 1999 
IOI 1998 si sono tenute a Setúbal, Portogallo, 5 - 12 settembre, 1998 
IOI 1997 si sono tenute a Città del Capo, Sudafrica, 30 novembre - 7 dicembre, 1997
IOI 1996 si sono tenute a Veszprém, Ungheria, 25 luglio - 2 agosto, 1996 
IOI 1995 si sono tenute ad Eindhoven, Paesi Bassi, 26 giugno - 3 luglio, 1995 
IOI 1994 si sono tenute a Haninge, Svezia, 3 - 10 luglio, 1994 
IOI 1993 si sono tenute a Mendoza, Argentina, 16 - 25 ottobre, 1993 
IOI 1992 si sono tenute a Bonn, Germania, 11 - 21 luglio, 1992 
IOI 1991 si sono tenute ad Atene, Grecia, 19 - 25 maggio, 1991 
IOI 1990 si sono tenute a Minsk, Bielorussia, 15 - 21 luglio, 1990 
IOI 1989 si sono tenute a Pravets, Bulgaria, 16 - 19 maggio, 1989