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.

Olimpiadi Internazionali Dell'informatica
Il logo ufficiale della competizione

L’idea di istituire un’Olimpiade internazionale dell'informatica fu proposta dal professore bulgaro Blagovest Sendov durante la 24° conferenza generale dell’UNESCO svoltasi a Parigi nell’ottobre 1987. Nel maggio 1989, l'UNESCO ha avviato e sponsorizzato la prima Olimpiade internazionale dell'informatica (IOI). Il primo IOI si è tenuto a Pravec in Bulgaria 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. Gli studenti sono selezionati attraverso analoghe competizioni nazionali. Ad esempio in Gran Bretagna gli studenti che fanno parte della squadra nazionale sono scelti nella British Informatics Olympiad (BIO), mentre in Italia è l'AICA ad occuparsene.

Nel 2012 le Olimpiadi internazionali dell'informatica si sono tenute 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 nella soluzione di problemi a carattere logico-matematico, algoritmico e di programmazione in pseudocodice (la cui descrizione per la gara è disponibile qui). Tutti i quesiti sono pensati per non richiedere la conoscenza di alcun linguaggio di programmazione.

I problemi sono di due tipologie: a risposta aperta, per cui è richiesta una soluzione alfanumerica; oppure a risposta chiusa, per cui lo studente deve scegliere una tra cinque risposte proposte. A ogni risposta esatta vengono assegnati 5 punti; a ogni risposta sbagliata 0 punti; mentre ad una risposta vuota viene assegnato 1 punto se la domanda è a risposta chiusa e 0 punti se la domanda è a risposta aperta.

Nella selezione scolastica 2010-2011 si sono iscritti 441 istituti per un totale di circa 10.000 studenti; nel 2015-2016 si è passati a 14.000

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; oltre ai partecipanti alla selezione nazionale dell'anno precedente, gli studenti (riserve escluse) della miglior squadra di ciascuna regione italiana che abbia partecipato alla finale delle Olimpiadi di Informatica a Squadre, e altri studenti che si siano distinti in altre competizioni a carattere scientifico a livello nazionale, sempre a insindacabile giudizio del Comitato Olimpico.

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 6.

La gara, svolta su piattaforma online e della durata di 3 ore, consiste nella soluzione di 4 problemi da risolvere mediante la scrittura di programmi. Questi sono simili a quelli proposti alle Olimpiadi Internazionali di Informatica, anche se mediamente più semplici. Ogni problema vale 50 punti e vengono presentati in un ordine indicativo crescente del livello di difficoltà e conoscenze richieste dal problema.

Il punteggio assegnato ad una sottoposizione è proporzionale al numero di casi correttamente risolti q rispetto al totale dei casi presenti T (punteggio = 50*q/T). Il punteggio assegnato ad un problema è il massimo dei punteggi ottenuti tra tutte le sottoposizioni effettuate. Lo stile di programmazione non ha alcun effetto sulla valutazione, così come il tempo usato per risolvere un input, purché l’esecuzione del programma sia abbastanza rapida da consentire la consegna dell’output entro il termine della gara.

I problemi devono essere risolti tramite programmi scritti in uno dei linguaggi di programmazione consentiti. I linguaggi ufficialmente supportati (edizione 2022-23) sono: C, C#, C++, Java, JavaScript (con template in HTML), Pseudocodice e Python 3. Per questi linguaggi saranno disponibili dei template di soluzione con il codice relativo alla lettura dell’input e alla scrittura dell’output. Sono inoltre consentiti i seguenti linguaggi senza supporto del template: Go, Pascal, TypeScript e Visual Basic.

Parallelamente alla gara gli studenti sono invitati a completare il percorso di allenamento AlgoBadge, che introduce agli argomenti utili per le gare territoriali e, soprattutto, nazionali. Non è necessario completarlo, ma è obbligatorio raggiungere il badge d’argento entro una data stabilita dal Comitato Olimpico (in generale i primi di luglio) per essere considerati ammissibili alla selezione nazionale.

Sono ammessi alla selezione nazionale:

  1. Il primo classificato di ogni Sede Territoriale (le sedi distaccate contano con la sede principale);
  2. Gli studenti invitati ad almeno un corso di formazione OII svolto nell’anno in corso che rispettano i requisiti per partecipare alle IOI, anche se non hanno effettuato la gara territoriale;
  3. Altri studenti ammessi per fast-track, cioè i migliori studenti del biennio fino al raggiungimento di 20 ammessi in totale, e le migliori studentesse fino al raggiungimento di 10 ammesse in totale (nel totale contano anche altri ammessi per i punti 1, 2 e 3);
  4. I migliori della classifica generale non già ammessi per i punti precedenti, fino ad esaurimento posti.

Selezione nazionale

Gli studenti ammessi (circa 100) partecipano alla competizione nazionale tutti insieme, in una determinata sede scelta annualmente. La prova consiste sempre in 4 problemi, ma il tempo concesso è di 5 ore.

I problemi devono essere risolti tramite programmi scritti in linguaggio C++ in quanto la gara si svolge esclusivamente in ambiente GNU/Linux con compilatore C++. Lo standard di riferimento è C++17 o successivo.

A differenza delle precedenti selezioni, i risultati vengono comunicati direttamente ai partecipanti il giorno dopo la gara.

I primi classificati saranno premiati con:

  • un dodicesimo dei partecipanti riceve una medaglia d'oro;
  • un sesto dei partecipanti riceve una medaglia d'argento;
  • un quarto dei partecipanti riceve una medaglia di bronzo.

I vincitori delle medaglie d’oro, insieme ad alcuni vincitori di medaglie d’argento e di bronzo, a insindacabile giudizio del Comitato, sono dichiarati Probabili Olimpici (PO) e sono ammessi alla successiva fase di allenamento, a patto di raggiungere il badge di diamante su AlgoBadge qualche giorno prima della data dell’allenamento.

Probabili Olimpici

I probabili olimpici partecipano ad un percorso di formazione in presenza che dura fino al giugno precedente alla gara internazionale, quando vengono decisi 4 olimpionici e 2 riserve. Gli "stage" di formazione sono selettivi e portano a diminuire un po' alla volta il numero di probabili olimpici che continuano il percorso di allenamento.

Struttura della competizione internazionale

Olimpiadi Internazionali Dell'informatica 
La sala della prova internazionale nel 2006

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 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 24 edizioni (dal 2000 al 2023) 66 medaglie:

  • 2 medaglie d'oro
  • 24 medaglie d'argento
  • 40 medaglie di bronzo

Lista dei siti Web e delle sedi delle Olimpiadi

Note

Bibliografia

  • Bruno Fadini, Roberto Grossi (2006): Olimpiadi dell'Informatica, Mondo digitale, 5 n.1 pp. 3–16

Voci correlate

Altri progetti

Collegamenti esterni

Tags:

Olimpiadi Internazionali Dell'informatica La selezione italianaOlimpiadi Internazionali Dell'informatica Struttura della competizione internazionaleOlimpiadi Internazionali Dell'informatica Lista dei siti Web e delle sedi delle OlimpiadiOlimpiadi Internazionali Dell'informatica NoteOlimpiadi Internazionali Dell'informatica BibliografiaOlimpiadi Internazionali Dell'informatica Voci correlateOlimpiadi Internazionali Dell'informatica Altri progettiOlimpiadi Internazionali Dell'informatica Collegamenti esterniOlimpiadi Internazionali Dell'informatica

🔥 Trending searches on Wiki Italiano:

MonellaPrima guerra d'indipendenza italianaÁngel Di MaríaDemocrazia CristianaCinaRiver PhoenixArnold SchwarzeneggerL'uomo che amaLa materia del cosmoSolo LevelingGaia Bermani AmaralEstoniaUnione europeaLindsay LohanMovimento 5 StelleToscanaEminemLeBron JamesGhali (rapper)Fratelli d'Italia (partito politico)RonaldoStato Islamico (organizzazione)Lamine YamalQualificazioni al campionato europeo di calcio 2024FacebookAlmudena AmorSocchieveEpisodi di Halo (seconda stagione)Salvatore RiinaYorgos LanthimosEverywhere I go - Coincidenze d'amoreMalcolm McDowellCesenaGeorge MichaelLudwig Mies van der RoheLavanda dei piediStati del mondoOlivier GiroudITA AirwaysLuis Suárez (calciatore 1987)Breaking BadShōgunI tre moschettieri - D'ArtagnanGiorgia CardinalettiKillers of the Flower MoonConflitto russo-ucrainoOlocaustoGiovanni Caselli (antropologo)Paola CortellesiResistenza italianaMassoneriaAlbert Guðmundsson (calciatore 1997)BatmanMassimiliano VarreseElvis Presley1970Vanessa RedgraveLa frodeLuka ModrićKeanu ReevesLuca BarbareschiStudio BattagliaOrganizzazione delle Nazioni UniteAlex DeLargeNon aprite quella portaLed ZeppelinBrahim DíazMarylandNicola GratteriStevan JovetićValentino RossiMichael JordanJackie BrownWilliam, principe del GallesElettra LamborghiniJokerJurij Gagarin🡆 More