Informatica · eerste jaar

Bijles algoritmen en datastructuren in het eerste jaar

Niet of je code werkt, maar hoe snel. Daar zit het hele vak in.

Ook gekend als Algoritmen en Datastructuren, Datastructuren, Algoritmiek, Gegevensstructuren.

Bijles algoritmen en datastructuren kost bij ons €15 tot €35 per uur en gaat online door, met een gedeelde editor en een whiteboard om structuren uit te tekenen.

Dit is het vak waar programmeren en wiskunde samenkomen, en waar studenten die in het eerste semester vlot mee waren plots vastlopen. Je code werkte tot nu toe. Vanaf hier is werkende code niet meer genoeg als ze te traag is.

Er is ook een praktische reden om dit vak serieus te nemen: sollicitatiegesprekken in de sector bestaan grotendeels uit deze leerstof. Wat je hier leert, gebruik je bij je eerste sollicitatie opnieuw.

Wie krijgt dit vak?

Algoritmen en datastructuren staat in het eerste jaar van onder meer deze opleidingen. Zit je richting er niet bij? De leerstof overlapt meestal sterk, dus de pagina blijft bruikbaar.

  • Informatica
  • Burgerlijk ingenieur computerwetenschappen
  • Industrieel ingenieur informatica
  • Toegepaste informatica

De leerstof, en waar het precies misgaat

Per hoofdstuk staat hieronder niet alleen wat het inhoudt, maar vooral waar studenten er punten op verliezen. Dat is meestal iets anders dan waar ze denken dat het misgaat.

  • Complexiteit en groot-O

    Het fundament. Studenten leren de notatie maar kunnen de complexiteit van hun eigen code niet afleiden, en dat is precies wat gevraagd wordt.

  • Lijsten, stacks en queues

    Eenvoudig van opzet. Het examen vraagt zelden hoe ze werken maar wel wanneer je welke kiest, en die afweging wordt zelden expliciet aangeleerd.

  • Bomen en binaire zoekbomen

    Zoeken en toevoegen lukt. Verwijderen uit een binaire zoekboom is de klassieke examenvraag waar mensen op vastlopen, want dat kent drie gevallen.

  • Gebalanceerde bomen en heaps

    AVL-rotaties en heap-operaties. Het is puur mechanisch werk, maar het moet foutloos, en dat vraagt herhaling die de meeste studenten overslaan.

  • Hashing

    Collisions oplossen. De vraag waarom een hashtabel gemiddeld constant is maar in het slechtste geval lineair, keert bijna elk jaar terug.

  • Sorteren en grafenalgoritmen

    Quicksort, mergesort, Dijkstra. Niet alleen uitvoeren maar ook verantwoorden waarom de complexiteit is wat ze is, en dat is de helft van de punten.

Waarom algoritmen en datastructuren zwaar is in het eerste jaar

  • De maatstaf verschuift. Tot nu toe was werkende code voldoende, hier wordt je code afgerekend op efficiëntie en dat is een nieuw soort denken.
  • Het vak leunt zwaar op discrete wiskunde. Wie daar inductie en grafen niet stevig heeft, betaalt dat hier dubbel.
  • Studenten leren de algoritmen uit het hoofd zonder ze te begrijpen, waarna elke variant op het examen als onbekend aanvoelt.
  • Het is een vak dat je moet doen, niet lezen. Een boom uittekenen op papier voelt traag, maar het is de enige manier waarop rotaties blijven zitten.

Hoe het examen er meestal uitziet

Examenvorm

Schriftelijk, met een mix van uitvoeren en verantwoorden: voer dit algoritme uit op deze invoer, bepaal de complexiteit, kies de juiste datastructuur voor dit probleem en leg uit waarom. Vaak ook een vraag waarin je een bestaand algoritme moet aanpassen.

Zo pak je het aan

  1. Teken elke datastructuur met de hand uit terwijl je de operaties uitvoert. Rotaties en heap-operaties blijven alleen zo hangen.
  2. Leid van elk stuk code dat je schrijft zelf de complexiteit af, ook als het niet gevraagd wordt. Dat is de vaardigheid die het zwaarst weegt.
  3. Maak een tabel met per datastructuur de kost van zoeken, toevoegen en verwijderen. Die tabel beantwoordt de meeste keuzevragen.
  4. Oefen expliciet op verwijderen uit een binaire zoekboom en op Dijkstra. Beide komen vaak terug en beide worden vaak half gekend.

Nederlandstalige docenten voor algoritmen en datastructuren

Deze docenten zijn geverifieerd en geven les in het Nederlands. Je spreekt zelf af wanneer het past, ook tijdens de examenperiodes.

Veelgestelde vragen over bijles algoritmen en datastructuren

Mijn code werkt maar ik krijg toch niet alle punten. Waarom?

Omdat correctheid maar een deel van de beoordeling is. Als er een oplossing bestaat die sneller is en jij die niet gebruikt, verlies je punten. Dat is de kern van het vak.

Ik was goed in programmeren maar dit lukt niet. Wat is het verschil?

Programmeren is een vaardigheid, dit vak is grotendeels wiskunde over die vaardigheid. Veel studenten hebben hier voor het eerst discrete wiskunde nodig, en daar zit meestal het gat.

Helpt dit vak me bij sollicitaties?

Meer dan de meeste. Technische gesprekken in de sector gaan grotendeels over datastructuren en complexiteit, dus dit is leerstof die je later terugziet.

Hoe oefen ik complexiteit als er geen oefeningen bij staan?

Neem code die je zelf al schreef en bepaal de complexiteit ervan. Dat werkt beter dan losse oefeningen, omdat je de code al begrijpt en je dus alleen op de analyse focust.

Vakken die hier vaak bij horen

Wie voor algoritmen en datastructuren bijles zoekt, zit vaak ook met een van deze vakken in hetzelfde semester.

Klaar om te beginnen?

Je kiest zelf je docent en spreekt rechtstreeks af wat je wil aanpakken. De eerste kennismaking is bij veel docenten gratis, zodat je kan aftoetsen of het klikt voor je iets betaalt.

Bekijk docenten voor algoritmen en datastructuren