Le prime Olimpiadi Internazionali di Informatica in Italia
Nell'anno che ha dichiarato il successo – almeno mediatico – delle Olimpiadi, l'Italia ospiterà quest'anno per la prima volta dal 23 al 30 Settembre la ventiquattresima edizione delle Olimpiadi Internazionali di Informatica, International Olympiad in Informatics, in acronimo IOI2012.
Da Leonardo da Vinci alle giovani promesse italiane, Organizzate dal Ministero dell'Istruzione, dell'Università e della Ricerca, tramite l'Ufficio Scolastico Regionale della Lombardia, da AICA, Associazione Italiana per l'Informatica e il Calcolo Digitale e dal Politecnico di Milano, le Olimpiadi Internazionali dell'Informatica si tengono dal 1989 quando furono ospitate per la prima volta in Bulgaria.
L'Italia partecipa solo dal 2000 alle Olimpiadi e da allora è riuscita a vincere 30 medaglie aggiudicandosi 1 medaglia d'oro, 11 medaglie d'argento e 18 medaglie di bronzo. Il lago di Garda con i comuni di Sirmone e Montichiari ospiterà i più brillanti studenti delle scuole secondarie superiori di tutto il mondo con 90 squadre internazionali composte da 4 titolari e due riserve mentre il Paese ospitante può partecipare con 8 elementi ovvero due squadre di cui una sola può competere al medagliere.
Alle selezioni italiane per le Olimpiadi hanno partecipato circa 10.000 studenti con più di 400 istituti coinvolti in quello che è un vero e proprio percorso didattico lungo 2 anni che vede la partecipazioni di professori, organizzatori ed allenatori: dopo le fasi di selezione scolastica e territoriale ci sono le Olimpiadi italiane e dalla gara nazionale vengono scelti 15 studenti tra i quali pescare i migliori atleti dopo un periodo di training e stage.
Ma cosa si fa durante queste gare? Si risolvono, senza l'aiuto di libri e possibilità di comunicare con gli altri, problemi logici-matematici, sviluppando algoritmi e programmi in tre linguaggi di programmazione: Pascal, C e C++.
Di solito bisogna risolvere 3 esercizi in circa 5 ore e molti dei quesiti, seppure simili negli anni, sono ovviamente segreti. Viene valutata l'esecuzione del software in funzione di alcuni fattori come i limiti di memoria: in alcuni casi viene richiesto di consegnare l'output in funzione dell'input proposto dal problema.
C'è chi, come Bouke van der Bijl, un ragazzo olandese di 17 anni, ha pubblicato sul proprio blog un post spiegando come si è qualificato e quali problemi ha dovuto risolvere con tanto di precisazioni tecniche sulle soluzioni ed i linguaggi usati. Lo stesso ha fatto anche Simon Hørup Eskildsen, sviluppatore Ruby, pubblicando il percorso che l'ha portato a partecipare.
La Squadra A italiana (titolare della competizione) è costituita, in ordine alfabetico, da:
1° Matteo Almanza dell'L.S. A. Labriola di Roma
2° Federico Glaudio dell'L.S. A. Righi di Roma
3° Giuliano Gregori – L.S. G. Oberdan – Trieste
4° Luca Versari – L.S. G. Marconi – Chiavari (GE)
La Squadra B non compete al medagliere ed è costituita da:
1° Gabriele Farina – L.S. N. Copernico – Brescia
2° Giada Franz – L.S. G. Marinelli – Udine
3° Davide Pallotti – L.S. N. Copernico – Bologna
4° Sebastiano Tronto – I.I.S. G. Galilei – Belluno
Le riserve olimpiche sono Alice Cortinovis dell' L.S. L. Mascheroni di Bergamo e William Di Luigi dell'I.I.S. E. Alessandrini di Montesilvano (PE). E' la prima volta che la nazionale italiana ha in squadra due ragazze.
Da diversi mesi questi ragazzi si stanno allenando risolvendo esercizi e problemi delle scorse edizioni delle Olimpiadi. Hanno installato un server online che implementa il sistema di gara: in questo modo non devono neanche incontrarsi e grazie all'aiuto delle riserve si sfidano a vicenda creando sempre nuovi problemi da risolvere e discutendo insieme delle soluzioni. E usano siti come Codeforces per prepararsi alla competizione.
D'altronde l'informatica è una passione che per molti di loro parte da lontano: per Sebastiano Tronto, 18 anni, nacque tutto in quinta elementare quando un amico gli disse di aver trovato un programma con il quale si potevano "creare videogiochi e anche virus!".
A 10 anni decise di programmare un virus che eliminava qualche cartella di sistema. Non era una grande idea – racconta Sebastiano – il risultato fu un computer da formattare e due genitori molto arrabbiati. Una volta riparato il computer, mia madre mi disse che, se promettevo di non fare mai più "virus", mi avrebbe regalato un libro per imparare un linguaggio di programmazione più “serio”. Fu così che abbandonai il lato oscuro della forza ed iniziai a
programmare in Java.
E tra le tecnologie sulle quali scommette c'è quella del Kinect di Microsoft: la periferica è pensata per la consolle Xbox 360 e permette all'utente di interagire con la macchina attraverso i movimento del corpo e i comandi vocali senza l'utilizzo di alcun controller. Credo che questo sia un notevole passo in avanti nel campo dell'interazione tra uomo e macchina e che ci potranno essere sviluppi interessanti, anche e soprattutto al di fuori del campo dei videogiochi.
Tronto è anche un grande appassionato di memory sport e del cubo di Rubik: sono secondo in Italia e tra i primi 25 al mondo (se qualcuno non mi ha superato) a risolvere questo rompicapo nel minor tempo possibile e bendato. Su YouTube ci sono diversi video delle sue performance.
Anche Davide Pallotti di Bologna, 18 anni anche lui, ha cominciato da giovanissimo: I primi ricordi che ho del computer riguardano l’uso che mia sorella ne faceva per scrivere la tesi di laurea. scia, ho iniziato relativamente presto a usare il pc, inizialmente come strumento di apprendimento poi anche di svago. A dodici/tredici anni ho cominciato a chiedermi come venivano creati i software che usavo e, dopo un po’ di ricerca e numerose prove, ho scoperto che usare programmi, seppur molto semplici, creati da sé era molto più divertente e soddisfacente rispetto a sfruttare software altrui.
E soprende quando dice di essere ancora abbastanza scettico nei confronti di tablet e super-smartphone ma caramente legato all’idea del computer desktop potente: secondo lui l’invenzione nell'informatica più recente in cui ripone più fiducia e speranza è il drive a stato solido (SSD) perchè "promette, in un colpo solo, un drastico aumento di velocità in lettura, diaffidabilità e di resistenza. Nel giro di uno o due anni ci sarà un SSD in ogni computer venduto."
Alice Cortinovis invece è bergamasca, suona il pianoforte da 10 anni e si è avvicinata all'informatica grazie al Pascal: a scuola avevo imparato questo linguaggio e così ho partecipato alle fase scolastica e provinciale. La mia passione principale però resta la matematica: nelle ultime 3 Olimpiadi nazionali ho conquistato tre medaglie e quest'anno anche l'oro. Mi piace l'idea di trovare gli algoritmi ma implementarli è un altro discorso e per me più faticoso.
Contrariamente a Pallotti, la Cortinovis è convinta che cellulari e computer sempre più versatili sono dei potenti strumenti di comunicazione e che rappresentano il futuro. Gabriele Farina, 18 anni, di Cellatica (BS), invece non si sente un informatico ma ritiene che l’informatica, come la matematica, sia uno strumento bellissimo ma da finalizzare nella costruzione di qualcosa che sia utile o bello. Ed è per questo anche un grande appassionato di elettronica e meccanica: crede che il futuro sia "nel ramo dei computer quantistici, che, sebbene sia nato negli anni 70, ha visto la maggior parte del suo sviluppo negli ultimi 10 anni."
Ha iniziato anche lui verso i 12 anni con un libro che il padre portò a casa perchè stava studiando un linguaggio di programmazione: "alcune sere si siedeva di fronte al monitor e con me al suo fianco leggeva parte della guida al linguaggio e sperimentava parti di codice. A volte faceva comparire delle finestre, altre volte delle forme, altre ancora del testo. Essendo allo stesso tempo incuriosito dalle potenzialità di questo nuovo strumento ed impaziente di leggere cautamente ogni riga del libro, ci volle poco prima che cominciassi a voler sperimentare per conto mio".
Farina deve la sua passione per l'informatica teorica anche a Giovanni Paolini, ventenne, che per questi ragazzi è un mito perchè ha uno score di tutto rispetto grazie alle medaglie conquistate in tantissime competizioni matematiche ed informatiche. Paolini fa parte dell'HSC (Host Scientific Committee) delle IOI 2012 e non vuole sbilanciarsi sugli eventuali favoriti della competizione e sui membri della squadra italiana.
E consiglia, per chi è interessato a un po' di "divertimento matematico", di visitare Alcumus, un sito che propone problemi di vari argomenti adattandosi al livello di preparazione. Paolini ha scritto anche un libro, "La matematica delle Olimpiadi", che mette insieme un po' di basi teoriche di matematica elementare e una raccolta di problemi con le relative soluzioni. Per Maurizio Codogno, matematico e blogger, questo titolo è un ottimo testo per chi ama risolvere problemi matematici.
Per molti di questi ragazzi comunque queste Olimpiadi sono solo il primo passo verso l'arte del problem solving che ogni buon e serio matematico e programmatore prova ad affrontare ogni giorno imparando a non lasciarsi intimorire mai. E rispondendo sempre in maniera creativa alla fatidica domanda: What have you tried?.