Masters of Java 2016

Dit jaar groeit de J-Fall voor het eerst naar twee dagen en dat betekent: meer tijd om informeel te netwerken met mensen uit de Nederlandse Java community. Op de 1e dag (woensdagmiddag 2 november) is de Masters of Java competitie een hoogtepunt. First8 faciliteert deze competitie met veel coding fun weer, net als de afgelopen twee jaar.

Wat is de Masters of Java (MoJ)?

Al sinds 2004 is dit dé Java competitie van de NLJUG, waarin je kunt strijden om wie de beste Java kennis heeft. Naast een codefest met mooie prijzen kun je ook de eervolle titel ‘Master of Java 2016’ winnen. Veel deelnemers doen al jaren mee. Het is een competitie met ludieke en uitdagende Java puzzels. Een uitdaging voor elke Javaan om met codefun elkaar te bestrijden, goed voor je CV en – ook niet onbelangrijk –  je kunt geweldige prijzen winnen!

First8 faciliteert ook deze editie weer. Voor het eerst verzorgen we ook de Java opdrachten (bij de vorige twee edities deed de Java competence van Sogeti dit). First8 bestaat uit software engineers met veel passie voor Open Source Java development. Logisch dus dat een grote groep engineers intern graag aan de opdrachten wil meehelpen. Dit jaar hebben we voor uitbreidingen gezorgd aan het Open Source competitie framework voor Masters of Java.

Hoe zijn we te werk gegaan? We hebben de koppen bij elkaar gestoken. Bij het bestuderen ontdekten we al snel dat het maken van de opdrachten veel makkelijker kan als we de basis automatiseren. Dus hebben we een assignment generator in elkaar geknutseld. Nu kunnen we met Maven een basis voor de opdracht genereren, waardoor we ons veel makkelijker kunnen richten op de content: de Java puzzels.

Verder heeft ons team handige versimpelingen aangebracht in het competitie framework. De oorspronkelijke software werd gebouwd in Swing, grotendeels in de periode 2004-2008. Op deze site www.ctrl-alt-dev.nl/mastersofjava staat nog altijd de volledige uitleg en de opdrachten uit die tijd. Nu, met onze aanpassingen erbij, kan de software volledig met Java 8 overweg. Verder kan inmiddels het geheel makkelijk worden opgestart, meteen met een verzameling opdrachten om uit te kiezen. De server kan fraaie scoreboards tonen. Daarnaast kan de server makkelijker deelnemers managen en beter omgaan met Java opdrachten. Ook een enkele Java class kan worden geselecteerd als MoJ opdracht. Tot slot heeft de IDE (waarmee elke deelnemer aan de Java opdrachten codeert) nu extra functies zoals een visualisator van de testresultaten.

Hoe zijn we te werk gegaan?

We hebben de koppen bij elkaar gestoken. Bij het bestuderen ontdekten we al snel dat het maken van de oprachten veel makkelijker kan als we de basis automatiseren. Dus hebben we een assignment generator in elkaar geknutseld. Nu kunnen we met Maven een basis voor de opdracht genereren, waardoor we ons veel makkelijk kunnen richten op de content: de Java puzzels.

Verder heeft ons team handige versimpelingen aangebracht in het competitie framework. De oorspronkelijke software werd gebouwd in Swing, grotendeels in de periode 2004-2008. Op de site www.ctrl-alt-dev.nl/mastersofjava staat nog altijd de volledige uitleg en de opdracht uit die tijd. Met onze aapassingen erbij, kan de software nu volledig met Java 8 overweg. Verder kan het geheel makkelijk worden opgestart en heb je meteen een verzameling opdrachten om uit te kiezen. De server kan fraaie scoreboards tonen en daarnaast kan de server makkelijker deelnemers managen en beter omgaan met Java opdrachten. Ook een enkele Java class kan worden geselecteerd als MoJ opdracht. Tot slot heeft de IDE (waarmee elke deelnemers aan de Java oprachten codeert) nu extra functies, zoals een visualisator van de testresultaten.

De beste voorbereiding

Hoe kun je jezelf het beste voorbereiden op Masters of Java? Tip: bekijk JavaPuzzlers sessies op Youtube. Deze sessies zijn uitgevonden door het Amerikaanse duo Bloch en Gafter (beiden oorspronkelijke engineers van het Java platform, bekend van het boek ‘Java Puzzlers’). Hierin leggen gastheren leuke Java puzzels voor (zoals hieronder) en het publiek mag stemmen op de beste oplossing. Zo kun je ervaren hoe rijk Java is qua mogelijkheden en dat je de grenzen kunt opzoeken van de compiler. Dezelfde opdrachten kun je verwachten op J-Fall. Krijg gevoel voor Java puzzels en word Master of Java in 2016!

Afbeelding 1: Samen of alleen hacken aan odprachten