Beslagen ramen en een lichte zweetgeur bij de vijf zalen op de Cornelis Drebbelweg op de TU Delft. Afgelopen weekend stond in het teken van het Noordwest Europees Kampioenschap programmeren (NWERC).
De driehonderd slimste programmeurs van universiteiten uit heel Noordwest-Europa losten afgelopen weekend in teams vraagstukken op met algoritmes, allemaal voor de felbegeerde plaatsen in de top drie. Want die plaatsen garanderen de teams van een plek voor de finale in St Petersburg in juni 2013.
De programmeurs stond een heftig programma te wachten, georganiseerd door studenten van de wiskunde- en informaticastudievereniging Christiaan Huygens. Testsessies, bierproeverijen, excursies, lezingen en diners. Maar de grote dag vond plaats op zondag. Toen bogen honderd teams zich over elf moeilijke programmeerproblemen.
Elke opgave had een ander thema. Zo werd er geanalyseerd hoe Delftse studenten een café kiezen om bier te gaan drinken; hoe een fietsroute met veel stoplichten zo snel mogelijk kan worden afgelegd door op de juiste momenten te remmen of flink te gaan trappen en hoe het mogelijk is om het Nederlandse voetbalteam een toernooi te laten winnen door het manipuleren van het toernooischema.
Elk team, bestaande uit drie programmeurs, kreeg één computer ter beschikking om binnen vijf uur zo veel mogelijk vraagstukken op te lossen met behulp van algoritmes. De antwoorden werden doorgestuurd naar de jury, waar de antwoorden automatisch werden nagekeken door een door studenten ontworpen systeem. Bij elk goed antwoord kreeg het team een ballon.
Tijdens de testsessie op zaterdag hangt een gezellige, maar toch competitieve sfeer onder de studenten. Team ‘Geen Syntax’ van universiteit Leiden ziet de testdag vooral als een manier om het systeem af te tasten. “Vandaag testen we hoe het nakijksysteem werkt en welke foutmeldingen je krijgt”, zegt Bas Nieuwenhuizen. Ook stuurt het team expres foute oplossingen naar de jury om te kijken hoe snel daarop gereageerd wordt.
‘Geen Syntax’ ziet de kansen groot. Josse van Dobben de Bruyn doet al voor de vijfde keer mee aan het evenement. Zijn team doelt op een plek in de top tien. De studenten wiskunde en informatica hebben wekelijks getraind door opgaven van afgelopen jaren te maken. Toch vinden de jongens de testdag niet representatief voor de wedstrijddag. “De vragen tijdens de wedstrijd zijn veel ingewikkelder” legt Nieuwenhuizen uit. “Je mag dan blij zijn als je überhaupt een paar vragen oplost”. Het grote geheim van ‘Geen Syntax’ om morgen de top tien te behalen is goed slapen en niet naar de bierproeverij gaan. De jongens dromen zelfs in algoritmes de laatste week.
De grootste concurrent van ‘Geen Syntax’ is uitgevallen. Maar ze vrezen ook team ‘ASDF’ van de TU Delft, de winnaar van het NWERC in Bremen van vorig jaar. Of ASDF, vernoemd naar de eerste vier letters op het toetsenbord, ook dit keer de finale gaat halen is niet zeker. Het team bestaat namelijk uit een nieuwe samenstelling. “Het lijkt me heel tof om naar St Petersburg te gaan” vertelt Charlotte Ipema, “maar we zijn niet goed genoeg op elkaar ingespeeld”. Hun geheim voor morgen? “Weten hoe je moet compileren” grinnikt Chiel de Roest.
De zalen op de Drebbelweg worden gevuld met Europese klanken. Dan hoor je Zweeds, dan weer Duits of Brits. Maar mengen doen de teams uit verschillende landen niet. “We zijn best gesloten allemaal” vertelt Harmjan Treep van team ‘ASDF’. “Iedereen is gestrest en serieus bezig”.
Ondertussen heeft de organisatie hun handen vol. De programmeurs zijn nog niet klaar met de testsessie of de lunch staat alweer klaar. Bastiaan Grisel, één van de vijftien man tellende organisatie, heeft zelf nooit meegedaan aan NWERC. “Als ik al die whizzkids hier zie, denk ik niet dat ik daar ook maar enigszins in de buurt kan komen qua intelligentie” vertelt Grisel. ”Ik moet het meer van mijn organisatorisch vermogen hebben”.
Maar whizzkid zijn heeft ook zijn nadelen. Treep vindt het denigrerend om steeds als nerd bestempeld te worden. “We zijn experts”.
Tijdens de wedstrijd op zondag is de sfeer meer gespannen dan tijdens de testsessie. De teams zitten vastgekluisterd aan de computerschermen en rennen gestrest naar de wc en terug om geen tijd te verliezen.
In de grote hal hangt een groot scorebord met alle teamnamen. Die variëren van ‘code breathers’, ‘partners in code’ en ‘gaycoders from outer space’ tot ‘hack-o-matic’ en ‘false’)DROPTABLEteams;–.’.
Het laatste uur van de wedstrijd wordt het scorebord bevroren. Het blijft dus spannend wie uiteindelijk in de top drie eindigt. ‘Geen Syntax’ heeft al veel ballonnen aan de stoel hangen en wil niet afgeleid worden.
Na vijf uur intensief programmeren strompelen de teams naar de hal voor de borrel. Het scorebord is nog steeds bevroren en om de spanning erin te houden wordt de uitslag pas na de borrel bekend gemaakt.
Team ‘Geen Syntax’ is opgewekt en vrolijk als ze de wedstrijdzaal uitlopen. “Het was écht leuk” roept Van Dobben de Bruyn. Na een slechte start hebben ze toch acht van de elf vragen kunnen oplossen. Dat kwam mede doordat de taakverdeling vlekkeloos verliep. “We hebben ons doel om in de top tien te komen wel gehaald”.
Het Delfste team ‘ASDF’ waar alle hoop op gevestigd was, is minder enthousiast. Zij staan op plek 46 op het bevroren scorebord. “We konden maar twee opgaven oplossen” vertelt Ipema lichtelijk teleurgesteld. Hun slechte score is te wijten aan het feit dat ze binnen het team slecht op elkaar ingespeeld waren.
Tijdens de borrel vloeit het bier rijkelijk. De meeste teams bespreken nog even alle opgaven door.
En wat gaan ze vanavond doen? “Slapen!” zeggen alle teams. Maar Nieuwenhuizen uit team ‘Geen Syntax’ moet nog huiswerk maken.
De winnaar van het NWERC is team ‘The Deepstackers’ van universiteit Rostock uit Duitsland, gevolgd door ‘Geen Syntax’ van universiteit Leiden en op plek drie ‘We don’t have a team name’ van universiteit Ludwig-Maximilians München uit Duitsland. Zij gaan naar de finale in St Petersburg in juni 2013.
Ben je benieuwd wat voor soort vraagstukken de programmeurs moesten oplossen? Hier een voorbeeld:
Een digitale wekker bestaat uit vier cijfers die elk zijn opgebouwd uit zeven losse segmentjes. Stel dat je weet dat sommige segmenten stuk zijn, waardoor cijfers kunnen veranderen in andere cijfers (een 6 kan bijvoorbeeld veranderen in een 5 als het segment linksonder stuk is). Op de wekker verschijnen, gedurende drie opeenvolgende minuten de volgende ’tijden’: “71:57”, “71:57”, en “71:07”. Het is duidelijk dat de wekker stuk is, maar desondanks de vraag: hoe laat is het? (Hint: er zijn vier mogelijkheden!)
Comments are closed.