Najboljši programerji med študenti v Srednji Evropi se bodo v Ljubljani 9. in 10. decembra 2023 pomerili na srednjeevropskem tekmovanju Central European Regional Contest (CERC), ki je del največjega in najbolj prestižnega univerzitetnega tekmovanja v računalništvu in informatiki na svetu, International Collegiate Programming Contest (ICPC). Tekmovanje, ki se ga bo udeležilo približno 60 ekip z najboljših univerz v regiji, organizira Fakulteta za računalništvo in informatiko Univerze v Ljubljani (UL FRI) v sodelovanju z društvom ACM Slovenija (Association for Computing Machinery).
Tekmovanje ICPC je ekipno tekmovanje tričlanskih študentskih ekip, ki morajo v petih urah pravilno rešiti čim več zastavljenih nalog. Udeleženci prihajajo iz osmih držav srednjeevropske regije, ki vključuje Avstrijo, Češko, Hrvaško, Latvijo, Madžarsko, Poljsko, Slovaško in Slovenijo. Slednjo bodo zastopale tri ekipe Univerze v Ljubljani ter po ena ekipa z Univerze v Mariboru in z Univerze na Primorskem.
»Od tekmovanja pričakujem, da nas bo aktivno zaposlilo in da se bomo skozi rešene naloge tudi sami kaj naučili. Najljubši so mi tisti izzivi, ki so na robu našega znanja in pri katerih moramo kot ekipa sodelovati, da skupaj pridemo do pravilne rešitve,« je o svojih pričakovanjih glede končnega uspeha povedal študent Jakob Schrader z Univerze v Ljubljani.
»Organizacija tekmovanja ICPC CERC predstavlja za Univerzo v Ljubljani in Slovenijo redko priložnost za promocijo med najboljšimi študenti tujih univerz. Slovenske ekipe se tradicionalno uvrščajo v zlato sredino, preboj v finale tekmovanja ICPC pa je težko uresničljiva želja v tako hudi konkurenci,« o zahtevnosti programerskega tekmovanja ICPC pove vodja strokovne komisije doc. dr. Tomaž Hočevar, UL FRI.
Naloge od tričlanskih ekip zahtevajo širok spekter znanj s področja računalništva in informatike. Ekipe morajo problem najprej primerno modelirati, nato načrtovati učinkovit algoritem in slednjega nazadnje tudi sprogramirati. Ocenjevanje je izredno strogo, saj morajo biti rešitve ne samo brez napak, ampak smejo zasedati omejeno količino pomnilnika in morajo biti dovolj hitre. Čeprav so v ekipi trije člani, imajo na voljo en sam računalnik, kar zahteva od članov ekipe sodelovanje, organizacijo, ustvarjalnost, natančnost, hitrost in sposobnost delovanja pod pritiskom.
»Programerska tekmovanja so zanimiv in unikaten izziv, ki testira tako matematične kot programerske sposobnosti. V nasprotju z realnimi problemi so naloge na tekmovanjih krajše in imajo bolj zahtevne omejitve, zaradi katerih morajo biti rešitve bolj učinkovite kot sicer,« je o svoji motivaciji za udeležbo povedal tekmovalec Patrik Žnidaršič z Univerze v Ljubljani.
Na lanskem tekmovanju se je ena od nalog nanašala na dobro znano računalniško igro Sokoban. V igri mora igralec v labirintu zriniti zaboje na označena ciljna mesta. Premika se samo po prostih mestih v labirintu, za premik zaboja pa se mora nahajati za njim, da ga lahko potisne v nasprotno smer. Konfiguracija labirinta in položaji ostalih zabojev so mu običajno v napoto, kar naredi igro izjemno kompleksno. Naloga tekmovalcev je bila, da načrtujejo in implementirajo algoritem oz. program, ki bo izračunal najmanjše potrebno število premikov zabojev za rešitev dane konfiguracije igre.
V svetovni finale tekmovanja ICPC se običajno uvrstita samo najboljši ekipi iz regije, ki pa tam praviloma posegata po najvišjih mestih. Srednjeevropska regija je ena najmočnejših na svetu. V preteklih treh svetovnih finalih sta ekipi Univerze v Varšavi in Univerze v Vroclavu vsaka kar po dvakrat posegli po medaljah z uvrstitvijo med najboljših 12 ekip na svetu.
»Eden od razlogov za toliko boljši uspeh poljskih ekip je poleg številčnosti brez dvoma tudi v dejstvu, da imajo bruci poljskih univerz za seboj že 12 let obveznega pouka računalništva in informatike v osnovni in srednji šoli, medtem ko imajo slovenski zgolj eno,« vodja vodja tekmovanja dr. Andrej Brodnik, UL FRI, predstavi različno predznanje tekmovalcev. »Po drugi strani pa prav mladi, ki se pojavljajo na tekmovanju, predstavljajo ključni kader za uspešno digitalno preobrazbo družbe. Glede na povedano imamo v Sloveniji velik primanjkljaj v primerjavi z drugimi državami v regiji. Edini način za njegovo premoščanje je zagotoviti mladim obvezni pouk računalništva in informatike v osnovnih in srednjih šolah, kot ga imajo drugje v regiji,« doda dr. Andrej Brodnik.
Dr. Tomaž Hočevar izpostavi uspešne karierne poti številnih nekdanjih tekmovalcev: »Najboljši tekmovalci lahko s svojimi sposobnostmi izbirajo med možnostmi nadaljnjega študija na praktično katerikoli univerzi na svetu ali zaposlitvijo v kateremkoli tehnološkem podjetju.« Nikolai Durov (zmagovalec finala l. 2000 in 2001) je soustanovitelj VK in Telegrama, Craig Silverstein (zmagovalec finala 1993) je bil prvi zaposleni v podjetju Google, Adam D'Angelo (srebrna medalja l. 2004) je postal CTO v Facebooku in nato ustanovil podjetje Quora, Matei Zaharia (zlata medalja l. 2005) je ustvaril Apache Spark in je med 5 najbogatejšimi Romuni.
Tekmovanje ima tako močno prepoznavnost tudi v gospodarstvu. V preteklih letih je potekalo pod sponzorstvom IBM, sedaj pa so to prevzela podjetja JetBrains, Huawei, Jane Street in Pinely. Številni tehnološki velikani, kot so Google, Meta in Amazon, so prepoznali uporabnost nalog, ki se pojavljajo na takih tekmovanjih, in jih uporabljajo za ocenjevanje kandidatov na svojih zaposlitvenih intervjujih.
Zgodovina tekmovanja ICPC se pričenja v letu 1970 na Teksaški univerzi A&M. Tekmovanje je hitro pridobilo popularnost v ZDA in Kanadi in je od leta 1977 organizirano vsako leto. Leta 1989 je tekmovanje preraslo lokalne okvire in se razvilo v večnivojsko globalno tekmovanje univerz najprej pod okriljem društva ACM in nato pod okriljem fundacije ICPC in s sedežem na Univerzi v Baylorju v ZDA. Na tekmovanjih na regionalni ravni je v zadnjih letih sodelovalo skoraj 60.000 študentov z več kot 3.450 univerz iz 111 držav, medtem ko je udeležba na lokalni ravni ocenjena na preko 300.000 študentov (https://icpc.global/worldfinals/fact-sheet/ICPC-Fact-Sheet.pdf). Aktualni svetovni prvak je ekipa z Massachusetts Institute of Technology.
Gostovanje tekmovanja se tradicionalno seli po sodelujočih univerzah, pri čemer ima vsaka univerza priložnost gostiti tekmovanje tri leta zapored. Tako je Univerza v Ljubljani že gostila tekmovanje CERC leta 2021 v spletni obliki zaradi epidemije koronavirusa in lansko leto na tekmovanju CERC 2022. Prvak je postala ekipa z Jagelonske univerze iz Krakova in z enakim številom rešenih nalog ji je tesno sledila ekipa Univerze v Varšavi. Omenjeni ekipi pa sta izrazito odstopali od preostale konkurence. Med prvih deset ekip so se uvrstile še ekipe Karlove univerze v Pragi, Univerze v Zagrebu in Univerze Eötvös Loránd iz Budimpešte.
Nacionalna raven tekmovanja je pod okriljem društva ACM Slovenija organizirana pod imenom Univerzitetni programerski maraton in redno poteka že četrt stoletja, od leta 1997 dalje. Na njem sodelujejo ekipe z Univerze v Ljubljani, Univerze v Mariboru in Univerze na Primorskem. Nacionalno tekmovanje je doseglo največjo številčnost pred koronavirusno krizo, ko se ga je udeležilo kar 60 ekip.
V soboto, 9. 12. 2023, se bodo po otvoritveni slovesnosti ob 10.00 na Fakulteti za računalništvo in informatiko, Večna pot 113, Ljubljana, tekmovalci med 13.30 in 16.30 uro pomerili na poskusnem krogu tekmovanja.
V nedeljo, 10. 12. 2023, tekmovalce čaka pravi maraton, saj se bodo v petih urah nepretrganega reševanja soočili z 12 nalogami. Zmaga ekipa, ki reši največ nalog oz. tista, ki je pri tem najhitrejša.
Razglasitev rezultatov in svečana podelitev nagrad bo ob 18. uri v predavalnici A na Fakulteti za računalništvo in informatiko, Večna pot 113, Ljubljana. Na podelitvi bo sodeloval rektor Univerze v Ljubljani, prof. dr. Gregor Majdič.
Spletna stran tekmovanja ICPC CERC 2023: https://cerc2023.acm.si/