Il 19 aprile la squadra russa della Lomonosov, l’Università Statale di Mosca, si è guadagnata il titolo di Campione Mondiale 2018 all’ACM (Association for Computing Machinery) International Collegiate Programming Contest (ICPC), un concorso multi-tier a squadre, considerato il più grande e prestigioso campionato nel mondo della programmazione informatica, che si è svolto in Cina, a Pechino.
Anche il secondo posto è andato a una squadra russa: l’Istituto di Fisica e Tecnologia di Mosca. Mentre l’Università ITMO di San Pietroburgo quest’anno si è dovuta accontentare del bronzo. Complessivamente, le squadre russe hanno vinto quattro medaglie su 13 assegnate (l’altra, sempre di bronzo, è andata all’Università Federale degli Urali), il maggior numero di medaglie tra i Paesi partecipanti alla competizione. La finale ha visto la partecipazione di 140 squadre provenienti da 51 paesi, tra cui 11 squadre in rappresentanza della Russia. Lontana dal podio, al trentunesimo posto, la Scuola Normale Superiore di Pisa. Ma la presenza era storica: in quarant’anni è la prima volta che una squadra italiana arrivava alle finali.
Dal 2000 gli studenti russi hanno dominato 13 volte l’ICPC, e quest’anno hanno vinto il campionato per la settima volta consecutiva. Dal 2012 al 2017, il titolo dei Campioni del Mondo è stato appannaggio di due squadre della capitale culturale russa: l’Università Statale di San Pietroburgo e l’Università ITMO di San Pietroburgo. Quest’ultimo istituto domina l’albo d’oro: ha vinto l’ICPC ben sette volte!
Cos’è l’ICPC?
Nelle finali, i team, composti da tre studenti, devono risolvere dieci o più problemi complessi in cinque ore utilizzando uno degli strumenti di linguaggio di programmazione accettato (Java, C, C ++, Kotlin e Python). Ogni squadra ha un solo computer, così oltre a rispettare i rigidi limiti di tempo e le capacità di programmazione, i concorrenti devono anche dimostrare un eccellente lavoro di squadra. Vince la squadra in grado di risolvere il maggior numero di problemi nel minor tempo.
“La difficoltà delle sfide aumenta di anno in anno, e il campionato tiene conto anche dei nuovi strumenti linguistici di programmazione che man mano emergono. Quest’anno l’ICPC ha incluso Kotlin, un linguaggio sviluppato da programmatori russi che può essere definita un’altra conquista russa”, afferma Roman Elizarov, presidente della giuria alle semifinali regionali dell’ICPC nell’Eurasia settentrionale. “È stato sviluppato dalla compagnia JetBrains di San Pietroburgo e la sua popolarità sta crescendo in tutto il mondo.”
Oltre al titolo di campione del mondo, vengono assegnate medaglie d’oro, d’argento e di bronzo. Inoltre, le squadre ricevono un premio in denaro: i campioni ottengono 15.000 dollari ciascuno, le altre medaglie d’oro 7.500, quelle d’argento 6.000, quelle di bronzo 3.000.
Un fatto interessante: al campionato ICPC partecipa un numero record di concorrenti. Quest’anno, considerando le fasi preliminari, hanno partecipato circa 50.000 studenti provenienti da 111 paesi. Ovvero quasi 4 volte più alto rispetto alle Olimpiadi, che nell’estate del 2016 hanno attirato 11.544 sportivi a Rio.
I segreti del successo russo
Ci sono una serie di fattori che aiutano i programmatori russi a superare gli altri, dice Nijaz Nigmatullin, due volte campione dell’ICPC (2012, 2013) e laureatosi all’Università ITMO (ora lavora come sviluppatore IT presso il social network VK, insegna all’ITMO e allena squadre di programmazione sportiva a livello scolastico).
“Il primo fattore è una forte tradizione nel campo della matematica che viene dal periodo sovietico. Il secondo è che c’è un intero sistema e una cultura della programmazione sportiva che si è sviluppata nel tempo in Russia. Tutto inizia a livello scolastico con molte città che tengono i propri campi di addestramento”, spiega.
“Esiste una grande comunità di giovani che condividono l’interesse per la programmazione: si incontrano, comunicano, si allenano insieme nei campi scuola e negli eventi, partecipano a progetti comuni e competono tra loro, il che li aiuta a crescere rapidamente come professionisti IT. Inoltre, condividono un atteggiamento molto serio nei confronti dell’allenamento e della preparazione (per l’ICPC): forse nessun altro Paese dà così tanta attenzione alla formazione in questo campo. I nostri ragazzi si allenano spesso fino a 20 ore a settimana”, sottolinea Nigmatullin.
Andrej Stankevich, membro del comitato di organizzazione semifinale della ICPC Eurasia Settentrionale e allenatore dei team dell’Università ITMO, è d’accordo. “I nostri ragazzi si allenano più duramente e sistematicamente rispetto a quelli di altri Paesi. Durante il periodo di preparazione a concorsi importanti la nostra squadra si allena 2-3 volte a settimana, 5 ore a volta, in condizioni il più vicino possibile a quelle reali: 12 compiti che devono essere risolti in cinque ore”, ha detto a Russia Beyond.
Andrej Lopatin, un altro due volte campione ICPC (2000, 2001) e allenatore di due squadre vincitrici dell’Università di San Pietroburgo (2014, 2016), in un’intervista a Russia Beyond, ha osservato che la forte tradizione russa nella matematica e un sistema più avanzato di formazione multi-tier dei professionisti IT e della concorrenza interna nel Paese è uno dei fattori più importanti che aiutano la Russia a formare professionisti di alto livello, che non solo vincono campionati a livello studentesco, ma vengono anche assunti dalle principali aziende IT a livello internazionale.
“Quelli che vincono campionati come l’ICPC possono adattarsi velocemente e pensare in modo creativo. Questo è qualcosa che è molto richiesto nel mondo di oggi”, ha osservato.
Lo stesso Lopatin ha vinto l’ICPC in una squadra di cui faceva parte anche Nikolaj Durov, co-fondatore del social network VK e fratello maggiore di Pavel Durov (potreste anche conoscerlo come proprietario del sistema di messaggistica Telegram). Lopatin ha lavorato anche per VK ed è stato a capo del team di sviluppo di Telegram.
Non c’è nessuna restrizione per gli stranieri di far parte dei team di programmazione russi, anche di quelli in competizione a livello internazionale. Ecco alcuni consigli per studiare in Russia