Masters of Java 2014

Op zaterdag 4 Oktober 2014 heeft een spannende strijd plaatsgevonden tijdens de Masters of Java 2014 dit jaar in Nijmegen op kantoor bij First8. De deelnemers hebben zich door een set van zeven door Sogeti ontwikkelde opdrachten geworsteld en ook dit jaar is er weer een winnaar uitgekomen die zich Master of Java 2014 mag noemen.

Een groep van 20 teams ging met elkaar de strijd aan. De teams bestaan uit maximaal 2 personen en waren uiteenlopend qua niveau. In de verschillende rondes die de wedstrijd telt is iedere keer een grappige of interessante programmeeropdracht uitgedeeld, die vervolgens binnen een half uur opgelost moest worden. Voor iedere seconde die een team overhield, werden punten gescoord.

Ook dit jaar was er weer veel positieve energie ingestopt om met leuke uitdagende opdrachten te komen. De opdrachten waren goed te doen, gezien iedereen punten gescoord heeft. Zoals elk jaar werd er begonnen met een makkelijke opdracht. Er moest een Harshad getallen generator geschreven worden, waarbij je alle Harshad getallen van 1 tot en met 100.000 moest retourneren. Een Harshad getal is een geheel getal dat deelbaar is door de som van zijn cijfers, zoals bijvoorbeeld 201 omdat 201 deelbaar is door 3 (2 + 0 + 1). Een andere soortgelijke opdracht betrof het Maximum Segment Sum probleem, waarbij je van een reeks getallen het aaneengesloten segment met de grootste som moest zien te vinden.

Er waren dit jaar twee opdrachten die met het doorlopen van een 'netwerk' te maken hadden. Bij de eerste werd duidelijk gevraagd om een oplossing met Dijkstra's algoritme. De andere opdracht ging om het vinden van de minst steile weg door de Alpen heen. Ondanks dat de opdrachten op elkaar leken, werden de opdrachten erg verschillend ervaren door de deelnemers.

Een van de opdrachten ging over de esoterische programmeertaal Befunged. Een 'rare' programmeertaal welke gebaseerd is op het bewegen door een matrix. De tekens in de matrix vertegenwoordigen commando's die invloed hebben op het verloop van het programma of bewerkingen uitvoeren op de stack. In een wat serieuzere opdracht diende op basis van een Classless Inter-Domain Routing (CIDR) notatie informatie afgeleid worden over het IP adres of het subnet waarin dit adres zich bevindt. Bij deze laatste was je in het voordeel als je snel was met bitwise operators (&, |, ^, <<, etc.).

Bij de opdrachten wordt je uitwerking getoetst op correctheid. In de laatste opdracht werd je opdracht ook getoetst op code netheid. In totaal hebben de deelnemers zich op zeven opdrachten gestort en tot op het laatst was de strijd om de 2de en 3de plaats spannend. De titel verdediger Johan de Jong liet halverwege de wedstrijd al zien waarom hij Master of Java 2013 benoemd was en pakte de titel ook dit jaar weer. De Master of Java 2014, ging naar huis met een Oculus rift. Voor de 2de en 3de plaats werd er Raspberry pi's en Little bits uitgereikt.

Voor deze editie van de Masters of Java bedanken wij First8 en Sogeti voor de organisatie. Masters of Java wordt elk jaar weer grootser en ook volgend jaar zal de NLJUG weer terugkeren met de Masters of Java en we hopen je volgend jaar te zien op een even spannende editie!

De software en opdrachten van Masters of Java 2014 en voorgaande edities zijn beschikbaar op github: https://github.com/sogeti-java-nl/masters-of-java-software, https://github.com/sogeti-java-nl/Assignments