Ny i jobØvrigt

Reportage: 138 stu­de­ren­de kæmper om DM i pro­gram­me­ring

Tema: Fokus på DM i programmering. Læs reportagen fra begivenheden i 2014.

Solen skinner fra en noget nær skyfri himmel denne første lørdag i oktober, men det ænser de fleste af de godt 80 studerende ikke på 1. sal i DTU's bygning 302.

Her bliver snakket, grinet, drukket kaffe og udvekslet anekdoter fra ugens løb og nattens fester, mens alle venter på, at klokken bliver 11.

For så lyder startskuddet til danmarksmesterskabet i programmering, som de studerende er kommet for at deltage i - og helst vinde.

I alt er 138 studerende tilmeldt danmarksmesterskabet, og udover deltagerne på DTU i Lyngby nord for København, bliver der også kodet på livet løs i Aarhus og Aalborg.

Hold med navne som Dirty Bits, U+1F574 og 2Pac Aint Dead Featuring FukDaPolice dyster om at blive danmarksmester, hvor der udover æren er 10.000 kroner på højkant til vinderne.

Og så er der selvfølgelig også det sociale aspekt i begivenheden, hvilket har lokket mange til tasterne.

"Konkurrencen er et rigtig hyggeligt arrangement, hvor man kan snakke med folk, som også er interesseret i at løse algoritmiske problemstillinger," forklarer den 24-årige Thomas Dybdahl Ahle, der til dagligt studerer datalogi på Københavns Universitet, et kvarter inden konkurrencen bliver skudt i gang.

DM minder om jobinterview

Han stiller op for holdet Lambdabamserne, som har vundet danmarksmesterskabet tre gange i de seneste fire år.

Dermed er holdet favoritter til at hjemtage trofæet endnu engang.

Holdet blev sidste år nummer to i den nordiske programmeringskonkurrence, der bliver afviklet sideløbende med danmarksmesterskabet. Den placering kvalificerede bamserne til den nordvesteuropæiske dyst, hvor konkurrencen for alvor spidser til.

Med sidste års sjetteplads i Nordvesteuropa lykkedes det ikke Lambdabamserne at komme videre til verdensmesterskabet, der i høj grad er domineret af studerende fra asiatiske, amerikanske og især russiske universiteter.

Det selskab drømmer Thomas Dybdahl Ahle om at kunne blande sig i denne gang.

"Hvis vi kommer rigtig langt, så bliver der jo lagt mærke til holdet og en selv af de store it-selskaber," siger han om arrangementet, der har IBM som international hovedsponsor.

Han nævner samtidig, at konkurrencen også er brugbar i sammenhæng med at finde et job efter endt uddannelse.

"Virksomhedernes interview-proces med konkret opgaveløsning over telefonen minder lidt om DM, da man bliver stillet helt konkrete opgaver, der skal løses inden for et begrænset tidsrum. Derfor kan konkurrencen anbefales til alle programmører, der skal ud og søge job," lyder det fra Thomas Dybdahl Ahle.

Holder øje med talenterne

Til Danmarks- og dermed også det nordiske mesterskab får konkurrencedeltagerne 11 opgaver, der skal løses inden for fem timer i C, C++, C#, Go, Java, Object-C eller Python.

Holdenes programmer bliver kort og godt vurderet på, om de er løst korrekt. Det hold, der har løst flest opgaver korrekt inden for de fem timer, vinder konkurrencen.

"...og bagefter er der pizza og øl," afrunder en repræsentant fra it-selskabet Netcompany sine korte præsentation af reglerne, inden konkurrencen for alvor går i gang i DTU's bygning 302.

Netcompany er sponsor for det danske arrangement, efter det danske it-selskab har arrangeret de seks afholdte danmarksmesterskaber i programmering. Udover brandingen af selskabet, er it-virksomheden også interesseret i at spotte unge begavelser ved arrangementer som DM.

"Vi er altid på udkig efter talenter, og hvis nogen af deltagerne herude er dygtige, interesserede i Netcompany og langt i deres uddannelsesforløb, så er det selvfølgelig meget interessant for os," siger Christina Pansbo fra virksomhedens HR-afdeling til Computerworld.

Den stille koncentration

Klokken slår 11 og konkurrencen går i gang. De godt 80 kombattanter bøjer sig næsten synkront over opgavehæftet med de 11 udfordringer.

Stilheden i lokalet er larmende, og den bliver kun forstyrret af en svag mumlen ved bordene og spredt bladren i opgavehæftet, hvor flere hold går meget systematisk til værks.

"Der er en masse strategi involveret i konkurrencen, hvor vi fordeler opgaverne mellem os, så vi løser de nemmeste først. Nogen gange kan det godt betale sig at printe programmerne ud, så vi kan fejsøge med en kuglepen," lød nogle af staldtipsene fra Lambdabamsernes Thomas Dybdahl Ahle, få minutter før startskuddet lød.

Strategien ser umiddelbart ud til at virke, for efter seks minutter bliver der brølet 'JA!!!' fra Lambdabamserne bord.

Opgave C er løst, og holdet får en blå ballon som bevis på afleveringen. Efter 13 minutter hænger der også en gul ballon ved holdets bord, da bamserne har programmeret løsningen på opgave E.

Balloner over alt

Efter halvanden times programmering er lydniveauet i lokalet steget markant, og der hænger balloner ved alle borde.

Colaerne bliver kørt ned om kap med kaffen i et kreativt kode-miljø, hvor glæden over brun energi sjældent fornægter sig.

Lambdabamserne har på nuværende tidspunkt som det eneste hold sikret sig fem farvede balloner, hvilket er kvitteringen for fem afleverede og godkendte programmer.

Programmerne bliver afleveret løbende, hvorefter et større maskineri bag kulisserne går i gang.

Her bliver det kontrolleret, om en opgave er løst korrekt i forhold til givne inputværdier, hvor det afleverede program skal sørge for, at der spyttes konkrete output-værdier ud i den anden ende.

Udover at tælle balloner ved de andre borde kan deltagerne også følge med i deres andre holds opgaveaflevering på et projektorlærred, hvor den aktuelle stilling hele tiden bliver opdateret.

"Har du overhovedet ikke hørt efter om de parallelle systemer?" lyder det efter to en halv times intense tasterier fra et af bordene, hvor der hænger fire balloner.

Holdene er halvvejs i konkurrencen, hvor Fwnies og Exoshape har overhalet de forvarende mestre fra Lambdabamserne med hver især seks afleverede opgaver.
"Lad mig lige kigge på koden," lyder det fra Thomas Dybdahl Ahle til sine holdkammerater ved Lambdabamsernes bord, mens han sætter sig foran teamets enlige computer, som alle holdene har til rådighed som deres eneste tilladte digitale hjælpemiddel.

Få minutter efter bliver der føjet en ballon til bordet, og holdet er atter fløjet til tops i den samlede stilling.

Og vinderen er ...

Timerne går, og de farvede balloner ved bordene bliver flere og flere.

Mod slutningen på de fem timers programmering består samtalerne ved bordene i ganske få ord, mens der bliver gnubbet hager og gnedet hovedbunde. Nu skal slutspurten sættes ind.

Tavlen med oversigt over holdenes aflevering er blevet slukket for at trække spændingen, og så er tiden gået.

"Adrenalinen pumper rundt i kroppen, for vi løste alle 11 opgaver, men det var altså kun otte, der blev godkendt," griner Thomas Dybdahl Ahle til Computerworlds udsendte medarbejder, da konkurrencen er forbi.

"Til sidst sad vi med en opgave, der bare ikke virkede, og så var vi jo i et dilemma, om vi skulle bruge alle kræfter på at få den løst, eller om vi skulle kaste os over noget helt andet," fortsætter han i et mere dystert tonefald.

Ærgrelsen bliver en lille halv time efter afløst af glæde, da Christina Pansbo fra Netcompany i DTU's Kælderbar kan afsløre, at Lambdabamserne igen i år vinder konkurrencen.

Holdet bestående af Thomas Dybdahl Ahle og brødrene Jakob Tejs-Knudsen og Mathias Tejs-Knudsen kan derfor kalde sig danmarksmestre i programmering for fjerde gang inden for fem år.

"Ja, vi er glade nu, og det skal fejres med øl. Især er jeg glad over, at vi slog holdene fra Aarhus, som ellers i nogle år har været lidt af et algoritme-centrum i Danmark," siger Thomas Dybdahl Ahle.

Her skal det nok tilføjes, at hvis man også medtager de ældre hold uden mulighed for at deltage ved de studerendes vm i programmering, så var der faktisk et aarhusiansk hold, der slog Lambdabamserne.

Thomas Dybdahl Ahle fortæller, at bamserne nu skal i træningslejr, inden det skal i kamp mod holdene fra Nordvesteuropa og forhåbentligt senere de rigtig skrappe kodere fra blandt andre Kina og Rusland i VM-finalen, der løber af stablen i Marokko til maj.

"Det er sidste gang, jeg er med, så vi skal bare vinde," lyder det fra Thomas Dybdahl Ahle.

At han ikke kan være med til næste år, skyldes en kombination af aldersgrænse, tidspunktet for studiestarten og antal gennemførte semestre.

Hvis du selv er blevet nysgerrig vedrørende deltagelse til danmarksmesterskabet i programmering for studerende, kan du læse mere om det danske arrangement på Netcompanys hjemmeside.

Du kan også læse mere om konkurrencen på hovedorganisationen ACM-ICPC's hjemmeside.

Artiklen blev publiceret af ComputerWorld den 5. oktober 2014