Programmeren: Ontwikkel je vaardigheden met Nederlandse programmeerwedstrijden
Ontwikkel je probleemoplossend vermogen en algoritmisch denken door deel te nemen aan programmeerwedstrijden, van lokale evenementen tot internationale competities zoals de international programming competitions.
Visuele Introductie
Verwachting
Toen ik me inschreef voor de a programming competition, voelde ik een mix van opwinding en spanning. Als informaticastudent aan de UvA had ik al wat programmeerervaring, maar het idee om tegen andere studenten te strijden was nieuw voor me. De week ervoor oefende ik elke avond op online coding platforms, terwijl ik luisterde naar mijn favoriete tech podcasts. M'n kamer raakte bezaaid met aantekeningen over verschillende programmeertechnieken. De avond voor de wedstrijd kon ik de slaap niet vatten - zou ik het wel kunnen tussen al die bollebozen? M'n laptop lag klaar met m'n favoriete code-editor, en ik had zelfs speciaal een thermosfles met koffie van a local coffee shop meegenomen.
Tijdens de treinrit naar de VU keek ik uit het raam naar de countryside en bedacht me dat ik eigenlijk niks te verliezen had. Het zou vast een leuke ervaring worden, al was het maar om te zien hoe anderen te werk gingen. Toch kon ik niet ontkennen dat ik stiekem hoopte een mooie plek in het klassement te veroveren.
Onderdompeling
Bij binnenkomst in het computerlokaal van de VU werd ik begroet door het zachte gezoem van tientallen laptops en het geratel van toetsenborden die werden getest. De geur van verse koffie uit de automaat in de hal vermengde zich met het karakteristieke geluid van het aanslaan van mechanische toetsenborden. Toen het startsignaal klonk, voelde ik de adrenaline door m'n lijf gieren. Mijn vingers dansten over het toetsenbord terwijl ik de eerste opgave las. Het kraken van de stoel naast me verraadde dat mijn buurman net zo gespannen was.
Halverwege de wedstrijd stuitte ik op een lastig probleem. M'n eerste oplossing leverde alleen maar foutmeldingen op. Het zweet brak me uit. Toen schoot me een gesprek met een medestudent van de UvA te binnen over een vergelijkbaar probleem. Het kwartje viel! Met trillende handen typte ik de oplossing in. Toen ik op 'verzenden' klikte, voelde ik m'n hart in m'n keel kloppen. Het groene vinkje dat verscheen gaf me zo'n kick dat ik bijna van m'n stoel viel - tot hilariteit van m'n buurman.
Reflectie
Na afloop, terwijl ik met een biertje in de hand stond te praten met andere deelnemers in de kantine van de the university, besefte ik hoeveel ik in zo'n korte tijd had geleerd. Niet alleen over programmeren, maar ook over mezelf. Die middag had ik mezelf overtroffen en dat gaf een onbeschrijflijk gevoel van voldoening. Op de terugweg in de volle avondspits van Amsterdam dacht ik terug aan de gezichten van de andere deelnemers - sommige even verbijsterd als ik, andere vol zelfvertrouwen.
Thuisgekomen belde ik m'n moeder om te vertellen hoe het was gegaan. Terwijl ik haar alles vertelde, besefte ik dat het niet alleen ging om de uitkomst, maar om het hele proces. De volgende ochtend schreef ik me meteen in voor de volgende wedstrijd, deze keer bij de another university. Want zoals we in Nederland zeggen: "Je leert het meest van je fouten." En daar had ik die dag genoeg van gemaakt om een heel boek mee te vullen!
- Kies een programmeertaal om mee te beginnen (Python wordt vaak aanbevolen vanwege de eenvoudige syntax, ideaal voor beginners).
- Maak een account aan op een platform als Kattis of Codeforces - veel gebruikt door Nederlandse universiteiten.
- Begin met de 'easy' problemen om vertrouwd te raken met de interface en indieningsprocedure.
- Volg een online cursus algoritmen en datastructuren (bijv. via de Nederlandse site CodeGorilla of de TU Delft online cursussen).
- Doe mee aan een lokale wedstrijd, bijvoorbeeld georganiseerd door een Nederlandse universiteit of bedrijf.
- Bespreek je oplossingen met anderen, bijvoorbeeld bij een programmeerclubje of op het forum van de Vakantiebeurs Informatica Olympiade.
- Blijf oefenen en schroom niet om deel te nemen aan grotere wedstrijden als je je zekerder voelt!
- Basisbegrip van een programmeertaal (bijv. Python, Java of C++)
- Toegang tot een computer met internetverbinding
- Account op een online platform zoals Kattis of Codeforces
- Tijd om te oefenen (minimaal 2-3 uur per week)
- Doorzettingsvermogen en een gezonde dosis lef
- Eventueel een koptelefoon tegen storende geluiden
Programmeren is over het algemeen veilig, maar let op een goede houding en neem regelmatig pauzes om vermoeidheid van de ogen en RSI te voorkomen. Zorg voor een ergonomische werkplek. Voor mensen met een visuele beperking zijn er gespecialiseerde hulpmiddelen beschikbaar zoals schermlezers en aangepaste programmeeromgevingen.